Function to fix and adjust quotations and dashes to correct german typography in text for html-use. It set's quotations and dashes (Gedankenstrich).
The quotations can be set to the both forms used in german text. This type: „quote“/‚quote‘ and that type: »quote«/›quote‹. The dash (Gedankenstrich) is set to a Halbgeviertelstrich.
This function is useful for web-based cms systems. The user doesn't have to worry about a consistent typography and can use the fast to type but wrong style with: " ' -.
Comments and enhancements are welcome.
#!/usr/bin/perl use strict; use integer; use warnings; use HTML::Entities; # typoadjust # in: text, quotation-style (1 = german, other = french) # out: adjusted text sub typoadjust { $_ = encode_entities(decode_entities(shift)); # fix quotations if (shift == 1) { s/(^|\s)("|“|»|«)/$1„/g; s/("|«|»|”)($|[\s\-])/“$2/g; s/(^|\s)('|‘|‹|›)/$1‚/g; s/('|‹|›|’)($|[\s\-])/‘$2/g; } else { s/(^|\s)("|„|“|«)/$1»/g; s/("|“|”|»)($|[\s\-])/«$2/g; s/(^|\s)('|‘|‚|‹)/$1›/g; s/('|‘|’|›)($|[\s\-])/‹$2/g; } # fix dash s/(\s)-(\s)/$1–$2/g; return decode_entities($_); }
In reply to Adjust German HTML Typography by tom-cologne
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |