File Coverage

lib/FrameMaker/MifTree/FmCharset
Criterion Covered Total %
statement 12 12 100.0
branch n/a
condition n/a
subroutine 4 4 100.0
pod n/a
total 16 16 100.0


line stmt bran cond sub pod time code
1             package FrameMaker::MifTree;
2             # $Id: FmCharset,v 1.6 2004/11/19 22:33:40 roel Exp $
3 3     3   82 use 5.008_001;
  3         9  
  3         113  
4 3     3   14 use strict;
  3         4  
  3         134  
5 3     3   15 use warnings;
  3         4  
  3         118  
6 3     3   3960 use charnames ':full';
  3         123629  
  3         22  
7              
8             %FrameMaker::MifTree::fmcharset = (
9             "\x04" => "\N{SOFT HYPHEN}", #
10             "\x05" => "\N{ZERO WIDTH JOINER}", #
11             "\x06" => "\N{HYPHEN}", #
12             "\x08" => "\N{CHARACTER TABULATION}", #
13             "\x09" => "\N{NEXT LINE}", #
14             "\x0a" => "\N{LINE FEED (LF)}",
15             "\x10" => "\N{FIGURE SPACE}", #
16             "\x11" => "\N{NO-BREAK SPACE}", #
17             "\x12" => "\N{THIN SPACE}", #
18             "\x13" => "\N{EN SPACE}", #
19             "\x14" => "\N{EM SPACE}", #
20             "\x15" => "\N{NON-BREAKING HYPHEN}", #
21             "\x20" => "\N{SPACE}",
22             "\x21" => "\N{EXCLAMATION MARK}",
23             "\x22" => "\N{QUOTATION MARK}",
24             "\x23" => "\N{NUMBER SIGN}",
25             "\x24" => "\N{DOLLAR SIGN}",
26             "\x25" => "\N{PERCENT SIGN}",
27             "\x26" => "\N{AMPERSAND}",
28             "\x27" => "\N{APOSTROPHE}",
29             "\x28" => "\N{LEFT PARENTHESIS}",
30             "\x29" => "\N{RIGHT PARENTHESIS}",
31             "\x2a" => "\N{ASTERISK}",
32             "\x2b" => "\N{PLUS SIGN}",
33             "\x2c" => "\N{COMMA}",
34             "\x2d" => "\N{HYPHEN-MINUS}",
35             "\x2e" => "\N{FULL STOP}",
36             "\x2f" => "\N{SOLIDUS}",
37             "\x30" => "\N{DIGIT ZERO}",
38             "\x31" => "\N{DIGIT ONE}",
39             "\x32" => "\N{DIGIT TWO}",
40             "\x33" => "\N{DIGIT THREE}",
41             "\x34" => "\N{DIGIT FOUR}",
42             "\x35" => "\N{DIGIT FIVE}",
43             "\x36" => "\N{DIGIT SIX}",
44             "\x37" => "\N{DIGIT SEVEN}",
45             "\x38" => "\N{DIGIT EIGHT}",
46             "\x39" => "\N{DIGIT NINE}",
47             "\x3a" => "\N{COLON}",
48             "\x3b" => "\N{SEMICOLON}",
49             "\x3c" => "\N{LESS-THAN SIGN}",
50             "\x3d" => "\N{EQUALS SIGN}",
51             "\x3e" => "\N{GREATER-THAN SIGN}",
52             "\x3f" => "\N{QUESTION MARK}",
53             "\x40" => "\N{COMMERCIAL AT}",
54             "\x41" => "\N{LATIN CAPITAL LETTER A}",
55             "\x42" => "\N{LATIN CAPITAL LETTER B}",
56             "\x43" => "\N{LATIN CAPITAL LETTER C}",
57             "\x44" => "\N{LATIN CAPITAL LETTER D}",
58             "\x45" => "\N{LATIN CAPITAL LETTER E}",
59             "\x46" => "\N{LATIN CAPITAL LETTER F}",
60             "\x47" => "\N{LATIN CAPITAL LETTER G}",
61             "\x48" => "\N{LATIN CAPITAL LETTER H}",
62             "\x49" => "\N{LATIN CAPITAL LETTER I}",
63             "\x4a" => "\N{LATIN CAPITAL LETTER J}",
64             "\x4b" => "\N{LATIN CAPITAL LETTER K}",
65             "\x4c" => "\N{LATIN CAPITAL LETTER L}",
66             "\x4d" => "\N{LATIN CAPITAL LETTER M}",
67             "\x4e" => "\N{LATIN CAPITAL LETTER N}",
68             "\x4f" => "\N{LATIN CAPITAL LETTER O}",
69             "\x50" => "\N{LATIN CAPITAL LETTER P}",
70             "\x51" => "\N{LATIN CAPITAL LETTER Q}",
71             "\x52" => "\N{LATIN CAPITAL LETTER R}",
72             "\x53" => "\N{LATIN CAPITAL LETTER S}",
73             "\x54" => "\N{LATIN CAPITAL LETTER T}",
74             "\x55" => "\N{LATIN CAPITAL LETTER U}",
75             "\x56" => "\N{LATIN CAPITAL LETTER V}",
76             "\x57" => "\N{LATIN CAPITAL LETTER W}",
77             "\x58" => "\N{LATIN CAPITAL LETTER X}",
78             "\x59" => "\N{LATIN CAPITAL LETTER Y}",
79             "\x5a" => "\N{LATIN CAPITAL LETTER Z}",
80             "\x5b" => "\N{LEFT SQUARE BRACKET}",
81             "\x5c" => "\N{REVERSE SOLIDUS}",
82             "\x5d" => "\N{RIGHT SQUARE BRACKET}",
83             "\x5e" => "\N{CIRCUMFLEX ACCENT}",
84             "\x5f" => "\N{LOW LINE}",
85             "\x60" => "\N{GRAVE ACCENT}",
86             "\x61" => "\N{LATIN SMALL LETTER A}",
87             "\x62" => "\N{LATIN SMALL LETTER B}",
88             "\x63" => "\N{LATIN SMALL LETTER C}",
89             "\x64" => "\N{LATIN SMALL LETTER D}",
90             "\x65" => "\N{LATIN SMALL LETTER E}",
91             "\x66" => "\N{LATIN SMALL LETTER F}",
92             "\x67" => "\N{LATIN SMALL LETTER G}",
93             "\x68" => "\N{LATIN SMALL LETTER H}",
94             "\x69" => "\N{LATIN SMALL LETTER I}",
95             "\x6a" => "\N{LATIN SMALL LETTER J}",
96             "\x6b" => "\N{LATIN SMALL LETTER K}",
97             "\x6c" => "\N{LATIN SMALL LETTER L}",
98             "\x6d" => "\N{LATIN SMALL LETTER M}",
99             "\x6e" => "\N{LATIN SMALL LETTER N}",
100             "\x6f" => "\N{LATIN SMALL LETTER O}",
101             "\x70" => "\N{LATIN SMALL LETTER P}",
102             "\x71" => "\N{LATIN SMALL LETTER Q}",
103             "\x72" => "\N{LATIN SMALL LETTER R}",
104             "\x73" => "\N{LATIN SMALL LETTER S}",
105             "\x74" => "\N{LATIN SMALL LETTER T}",
106             "\x75" => "\N{LATIN SMALL LETTER U}",
107             "\x76" => "\N{LATIN SMALL LETTER V}",
108             "\x77" => "\N{LATIN SMALL LETTER W}",
109             "\x78" => "\N{LATIN SMALL LETTER X}",
110             "\x79" => "\N{LATIN SMALL LETTER Y}",
111             "\x7a" => "\N{LATIN SMALL LETTER Z}",
112             "\x7b" => "\N{LEFT CURLY BRACKET}",
113             "\x7c" => "\N{VERTICAL LINE}",
114             "\x7d" => "\N{RIGHT CURLY BRACKET}",
115             "\x7e" => "\N{TILDE}",
116             "\x80" => "\N{LATIN CAPITAL LETTER A WITH DIAERESIS}",
117             "\x81" => "\N{LATIN CAPITAL LETTER A WITH RING ABOVE}",
118             "\x82" => "\N{LATIN CAPITAL LETTER C WITH CEDILLA}",
119             "\x83" => "\N{LATIN CAPITAL LETTER E WITH ACUTE}",
120             "\x84" => "\N{LATIN CAPITAL LETTER N WITH TILDE}",
121             "\x85" => "\N{LATIN CAPITAL LETTER O WITH DIAERESIS}",
122             "\x86" => "\N{LATIN CAPITAL LETTER U WITH DIAERESIS}",
123             "\x87" => "\N{LATIN SMALL LETTER A WITH ACUTE}",
124             "\x88" => "\N{LATIN SMALL LETTER A WITH GRAVE}",
125             "\x89" => "\N{LATIN SMALL LETTER A WITH CIRCUMFLEX}",
126             "\x8a" => "\N{LATIN SMALL LETTER A WITH DIAERESIS}",
127             "\x8b" => "\N{LATIN SMALL LETTER A WITH TILDE}",
128             "\x8c" => "\N{LATIN SMALL LETTER A WITH RING ABOVE}",
129             "\x8d" => "\N{LATIN SMALL LETTER C WITH CEDILLA}",
130             "\x8e" => "\N{LATIN SMALL LETTER E WITH ACUTE}",
131             "\x8f" => "\N{LATIN SMALL LETTER E WITH GRAVE}",
132             "\x90" => "\N{LATIN SMALL LETTER E WITH CIRCUMFLEX}",
133             "\x91" => "\N{LATIN SMALL LETTER E WITH DIAERESIS}",
134             "\x92" => "\N{LATIN SMALL LETTER I WITH ACUTE}",
135             "\x93" => "\N{LATIN SMALL LETTER I WITH GRAVE}", # don't believe Adobe's doc!
136             "\x94" => "\N{LATIN SMALL LETTER I WITH CIRCUMFLEX}",
137             "\x95" => "\N{LATIN SMALL LETTER I WITH DIAERESIS}",
138             "\x96" => "\N{LATIN SMALL LETTER N WITH TILDE}",
139             "\x97" => "\N{LATIN SMALL LETTER O WITH ACUTE}",
140             "\x98" => "\N{LATIN SMALL LETTER O WITH GRAVE}",
141             "\x99" => "\N{LATIN SMALL LETTER O WITH CIRCUMFLEX}",
142             "\x9a" => "\N{LATIN SMALL LETTER O WITH DIAERESIS}",
143             "\x9b" => "\N{LATIN SMALL LETTER O WITH TILDE}",
144             "\x9c" => "\N{LATIN SMALL LETTER U WITH ACUTE}",
145             "\x9d" => "\N{LATIN SMALL LETTER U WITH GRAVE}",
146             "\x9e" => "\N{LATIN SMALL LETTER U WITH CIRCUMFLEX}",
147             "\x9f" => "\N{LATIN SMALL LETTER U WITH DIAERESIS}",
148             "\xa0" => "\N{DAGGER}", #
149             "\xa1" => "\N{DEGREE SIGN}",
150             "\xa2" => "\N{CENT SIGN}", #
151             "\xa3" => "\N{POUND SIGN}", #
152             "\xa4" => "\N{SECTION SIGN}",
153             "\xa5" => "\N{BULLET}", #
154             "\xa6" => "\N{PILCROW SIGN}",
155             "\xa7" => "\N{LATIN SMALL LETTER SHARP S}",
156             "\xa8" => "\N{REGISTERED SIGN}",
157             "\xa9" => "\N{COPYRIGHT SIGN}",
158             "\xaa" => "\N{TRADE MARK SIGN}",
159             "\xab" => "\N{ACUTE ACCENT}",
160             "\xac" => "\N{DIAERESIS}",
161             "\xad" => "\N{BROKEN BAR}",
162             "\xae" => "\N{LATIN CAPITAL LETTER AE}",
163             "\xaf" => "\N{LATIN CAPITAL LETTER O WITH STROKE}",
164             "\xb0" => "\N{MULTIPLICATION SIGN}",
165             "\xb1" => "\N{PLUS-MINUS SIGN}",
166             "\xb2" => "\N{LATIN SMALL LETTER ETH}",
167             "\xb3" => "\N{LATIN CAPITAL LETTER S WITH CARON}",
168             "\xb4" => "\N{YEN SIGN}", #
169             "\xb5" => "\N{MICRO SIGN}",
170             "\xb6" => "\N{SUPERSCRIPT ONE}",
171             "\xb7" => "\N{SUPERSCRIPT TWO}",
172             "\xb8" => "\N{SUPERSCRIPT THREE}",
173             "\xb9" => "\N{VULGAR FRACTION ONE QUARTER}",
174             "\xba" => "\N{VULGAR FRACTION ONE HALF}",
175             "\xbb" => "\N{FEMININE ORDINAL INDICATOR}",
176             "\xbc" => "\N{MASCULINE ORDINAL INDICATOR}",
177             "\xbd" => "\N{VULGAR FRACTION THREE QUARTERS}",
178             "\xbe" => "\N{LATIN SMALL LETTER AE}",
179             "\xbf" => "\N{LATIN SMALL LETTER O WITH STROKE}",
180             "\xc0" => "\N{INVERTED QUESTION MARK}",
181             "\xc1" => "\N{INVERTED EXCLAMATION MARK}",
182             "\xc2" => "\N{NOT SIGN}",
183             "\xc3" => "\N{LATIN CAPITAL LETTER ETH}",
184             "\xc4" => "\N{LATIN SMALL LETTER F WITH HOOK}",
185             "\xc5" => "\N{LATIN CAPITAL LETTER Y WITH ACUTE}",
186             "\xc6" => "\N{LATIN SMALL LETTER Y WITH ACUTE}",
187             "\xc7" => "\N{LEFT-POINTING DOUBLE ANGLE QUOTATION MARK}",
188             "\xc8" => "\N{RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK}",
189             "\xc9" => "\N{HORIZONTAL ELLIPSIS}",
190             "\xca" => "\N{LATIN SMALL LETTER THORN}",
191             "\xcb" => "\N{LATIN CAPITAL LETTER A WITH GRAVE}",
192             "\xcc" => "\N{LATIN CAPITAL LETTER A WITH TILDE}",
193             "\xcd" => "\N{LATIN CAPITAL LETTER O WITH TILDE}",
194             "\xce" => "\N{LATIN CAPITAL LIGATURE OE}",
195             "\xcf" => "\N{LATIN SMALL LIGATURE OE}",
196             "\xd0" => "\N{EN DASH}", #
197             "\xd1" => "\N{EM DASH}", #
198             "\xd2" => "\N{LEFT DOUBLE QUOTATION MARK}",
199             "\xd3" => "\N{RIGHT DOUBLE QUOTATION MARK}",
200             "\xd4" => "\N{LEFT SINGLE QUOTATION MARK}",
201             "\xd5" => "\N{RIGHT SINGLE QUOTATION MARK}",
202             "\xd6" => "\N{DIVISION SIGN}",
203             "\xd7" => "\N{LATIN CAPITAL LETTER THORN}",
204             "\xd8" => "\N{LATIN SMALL LETTER Y WITH DIAERESIS}",
205             "\xd9" => "\N{LATIN CAPITAL LETTER Y WITH DIAERESIS}",
206             "\xda" => "\N{FRACTION SLASH}",
207             "\xdb" => "\N{CURRENCY SIGN}",
208             "\xdc" => "\N{SINGLE LEFT-POINTING ANGLE QUOTATION MARK}",
209             "\xdd" => "\N{SINGLE RIGHT-POINTING ANGLE QUOTATION MARK}",
210             "\xde" => "\N{LATIN SMALL LIGATURE FI}",
211             "\xdf" => "\N{LATIN SMALL LIGATURE FL}",
212             "\xe0" => "\N{DOUBLE DAGGER}", #
213             "\xe1" => "\N{MIDDLE DOT}",
214             "\xe2" => "\N{SINGLE LOW-9 QUOTATION MARK}",
215             "\xe3" => "\N{DOUBLE LOW-9 QUOTATION MARK}",
216             "\xe4" => "\N{PER MILLE SIGN}",
217             "\xe5" => "\N{LATIN CAPITAL LETTER A WITH CIRCUMFLEX}",
218             "\xe6" => "\N{LATIN CAPITAL LETTER E WITH CIRCUMFLEX}",
219             "\xe7" => "\N{LATIN CAPITAL LETTER A WITH ACUTE}",
220             "\xe8" => "\N{LATIN CAPITAL LETTER E WITH DIAERESIS}",
221             "\xe9" => "\N{LATIN CAPITAL LETTER E WITH GRAVE}",
222             "\xea" => "\N{LATIN CAPITAL LETTER I WITH ACUTE}",
223             "\xeb" => "\N{LATIN CAPITAL LETTER I WITH CIRCUMFLEX}",
224             "\xec" => "\N{LATIN CAPITAL LETTER I WITH DIAERESIS}",
225             "\xed" => "\N{LATIN CAPITAL LETTER I WITH GRAVE}",
226             "\xee" => "\N{LATIN CAPITAL LETTER O WITH ACUTE}",
227             "\xef" => "\N{LATIN CAPITAL LETTER O WITH CIRCUMFLEX}",
228             "\xf0" => "\N{LATIN SMALL LETTER S WITH CARON}",
229             "\xf1" => "\N{LATIN CAPITAL LETTER O WITH GRAVE}",
230             "\xf2" => "\N{LATIN CAPITAL LETTER U WITH ACUTE}",
231             "\xf3" => "\N{LATIN CAPITAL LETTER U WITH CIRCUMFLEX}",
232             "\xf4" => "\N{LATIN CAPITAL LETTER U WITH GRAVE}",
233             "\xf5" => "\N{EURO SIGN}",
234             "\xf6" => "\N{MODIFIER LETTER CIRCUMFLEX ACCENT}",
235             "\xf7" => "\N{SMALL TILDE}",
236             "\xf8" => "\N{MACRON}",
237             "\xf9" => "\N{CARON}",
238             "\xfa" => "\N{LATIN CAPITAL LETTER Z WITH CARON}",
239             "\xfb" => "\N{RING ABOVE}",
240             "\xfc" => "\N{CEDILLA}",
241             "\xfd" => "\N{DOUBLE ACUTE ACCENT}",
242             "\xfe" => "\N{LATIN SMALL LETTER Z WITH CARON}",
243             );
244              
245             # delete equivalencies
246             while (my ($k, $v) = each %FrameMaker::MifTree::fmcharset) {
247             delete $FrameMaker::MifTree::fmcharset{$k} if $k eq $v;
248             }
249              
250             %FrameMaker::MifTree::fmnamedchars = (
251             DiscHyphen => '\\x04 ',
252             NoHyphen => '\\x05 ',
253             SoftHyphen => '\\x06 ',
254             Tab => '\\x08 ',
255             HardReturn => '\\x09 ',
256             NumberSpace => '\\x10 ',
257             HardSpace => '\\x11 ',
258             ThinSpace => '\\x12 ',
259             EnSpace => '\\x13 ',
260             EmSpace => '\\x14 ',
261             HardHyphen => '\\x15 ',
262             Dagger => '\\xa0 ',
263             Cent => '\\xa2 ',
264             Pound => '\\xa3 ',
265             Bullet => '\\xa5 ',
266             Yen => '\\xb4 ',
267             EnDash => '\\xd0 ',
268             EmDash => '\\xd1 ',
269             DoubleDagger => '\\xe0 ',
270             );
271              
272             1;