eideticpdf 0.9.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. data/fonts/AntiqueOlive-Bold.afm +406 -0
  2. data/fonts/AntiqueOlive-Bold.inf +27 -0
  3. data/fonts/AntiqueOlive-Compact.afm +401 -0
  4. data/fonts/AntiqueOlive-Compact.inf +27 -0
  5. data/fonts/AntiqueOlive-Italic.afm +401 -0
  6. data/fonts/AntiqueOlive-Italic.inf +27 -0
  7. data/fonts/AntiqueOlive-Roman.afm +409 -0
  8. data/fonts/AntiqueOlive-Roman.inf +27 -0
  9. data/fonts/AvantGarde-Book.afm +667 -0
  10. data/fonts/AvantGarde-Book.inf +26 -0
  11. data/fonts/AvantGarde-BookOblique.afm +667 -0
  12. data/fonts/AvantGarde-BookOblique.inf +26 -0
  13. data/fonts/AvantGarde-Demi.afm +673 -0
  14. data/fonts/AvantGarde-Demi.inf +26 -0
  15. data/fonts/AvantGarde-DemiOblique.afm +673 -0
  16. data/fonts/AvantGarde-DemiOblique.inf +26 -0
  17. data/fonts/Bookman-Demi.afm +669 -0
  18. data/fonts/Bookman-Demi.inf +25 -0
  19. data/fonts/Bookman-DemiItalic.afm +669 -0
  20. data/fonts/Bookman-DemiItalic.inf +25 -0
  21. data/fonts/Bookman-Light.afm +643 -0
  22. data/fonts/Bookman-Light.inf +25 -0
  23. data/fonts/Bookman-LightItalic.afm +620 -0
  24. data/fonts/Bookman-LightItalic.inf +25 -0
  25. data/fonts/Clarendon-Bold.afm +412 -0
  26. data/fonts/Clarendon-Bold.inf +27 -0
  27. data/fonts/Clarendon-Light.afm +410 -0
  28. data/fonts/Clarendon-Light.inf +27 -0
  29. data/fonts/Clarendon.afm +410 -0
  30. data/fonts/Clarendon.inf +27 -0
  31. data/fonts/CooperBlack-Italic.afm +421 -0
  32. data/fonts/CooperBlack-Italic.inf +26 -0
  33. data/fonts/CooperBlack.afm +427 -0
  34. data/fonts/CooperBlack.inf +26 -0
  35. data/fonts/Coronet-Regular.afm +327 -0
  36. data/fonts/Coronet-Regular.inf +25 -0
  37. data/fonts/Courier-Bold.afm +342 -0
  38. data/fonts/Courier-Bold.inf +26 -0
  39. data/fonts/Courier-BoldOblique.afm +342 -0
  40. data/fonts/Courier-BoldOblique.inf +26 -0
  41. data/fonts/Courier-Oblique.afm +342 -0
  42. data/fonts/Courier-Oblique.inf +26 -0
  43. data/fonts/Courier.afm +342 -0
  44. data/fonts/Courier.inf +26 -0
  45. data/fonts/Eurostile.afm +419 -0
  46. data/fonts/Eurostile.inf +27 -0
  47. data/fonts/Goudy-ExtraBold.afm +412 -0
  48. data/fonts/Goudy-ExtraBold.inf +27 -0
  49. data/fonts/Helvetica-Bold.afm +2827 -0
  50. data/fonts/Helvetica-Bold.inf +26 -0
  51. data/fonts/Helvetica-BoldOblique.afm +2827 -0
  52. data/fonts/Helvetica-BoldOblique.inf +26 -0
  53. data/fonts/Helvetica-Condensed-Bold.afm +623 -0
  54. data/fonts/Helvetica-Condensed-Bold.inf +25 -0
  55. data/fonts/Helvetica-Condensed-BoldObl.afm +623 -0
  56. data/fonts/Helvetica-Condensed-BoldObl.inf +25 -0
  57. data/fonts/Helvetica-Condensed-Oblique.afm +528 -0
  58. data/fonts/Helvetica-Condensed-Oblique.inf +25 -0
  59. data/fonts/Helvetica-Condensed.afm +528 -0
  60. data/fonts/Helvetica-Condensed.inf +25 -0
  61. data/fonts/Helvetica-Narrow-Bold.afm +1439 -0
  62. data/fonts/Helvetica-Narrow-Bold.inf +26 -0
  63. data/fonts/Helvetica-Narrow-BoldOblique.afm +1439 -0
  64. data/fonts/Helvetica-Narrow-BoldOblique.inf +26 -0
  65. data/fonts/Helvetica-Narrow-Oblique.afm +1556 -0
  66. data/fonts/Helvetica-Narrow-Oblique.inf +26 -0
  67. data/fonts/Helvetica-Narrow.afm +1556 -0
  68. data/fonts/Helvetica-Narrow.inf +26 -0
  69. data/fonts/Helvetica-Oblique.afm +3051 -0
  70. data/fonts/Helvetica-Oblique.inf +26 -0
  71. data/fonts/Helvetica.afm +3051 -0
  72. data/fonts/Helvetica.inf +26 -0
  73. data/fonts/LetterGothic-Bold.afm +443 -0
  74. data/fonts/LetterGothic-Bold.inf +26 -0
  75. data/fonts/LetterGothic-BoldSlanted.afm +443 -0
  76. data/fonts/LetterGothic-BoldSlanted.inf +26 -0
  77. data/fonts/LetterGothic-Slanted.afm +443 -0
  78. data/fonts/LetterGothic-Slanted.inf +26 -0
  79. data/fonts/LetterGothic.afm +443 -0
  80. data/fonts/LetterGothic.inf +26 -0
  81. data/fonts/LubalinGraph-Book.afm +351 -0
  82. data/fonts/LubalinGraph-Book.inf +25 -0
  83. data/fonts/LubalinGraph-BookOblique.afm +351 -0
  84. data/fonts/LubalinGraph-BookOblique.inf +25 -0
  85. data/fonts/LubalinGraph-Demi.afm +351 -0
  86. data/fonts/LubalinGraph-Demi.inf +25 -0
  87. data/fonts/LubalinGraph-DemiOblique.afm +351 -0
  88. data/fonts/LubalinGraph-DemiOblique.inf +25 -0
  89. data/fonts/Marigold.afm +491 -0
  90. data/fonts/Marigold.inf +27 -0
  91. data/fonts/MonaLisa-Recut.afm +663 -0
  92. data/fonts/MonaLisa-Recut.inf +27 -0
  93. data/fonts/NewCenturySchlbk-Bold.afm +886 -0
  94. data/fonts/NewCenturySchlbk-Bold.inf +25 -0
  95. data/fonts/NewCenturySchlbk-BoldItalic.afm +1521 -0
  96. data/fonts/NewCenturySchlbk-BoldItalic.inf +26 -0
  97. data/fonts/NewCenturySchlbk-Italic.afm +1113 -0
  98. data/fonts/NewCenturySchlbk-Italic.inf +26 -0
  99. data/fonts/NewCenturySchlbk-Roman.afm +1067 -0
  100. data/fonts/NewCenturySchlbk-Roman.inf +26 -0
  101. data/fonts/Optima-Bold.afm +515 -0
  102. data/fonts/Optima-Bold.inf +27 -0
  103. data/fonts/Optima-BoldItalic.afm +712 -0
  104. data/fonts/Optima-BoldItalic.inf +26 -0
  105. data/fonts/Optima-Italic.afm +737 -0
  106. data/fonts/Optima-Italic.inf +26 -0
  107. data/fonts/Optima.afm +501 -0
  108. data/fonts/Optima.inf +27 -0
  109. data/fonts/Palatino-Bold.afm +675 -0
  110. data/fonts/Palatino-Bold.inf +26 -0
  111. data/fonts/Palatino-BoldItalic.afm +702 -0
  112. data/fonts/Palatino-BoldItalic.inf +26 -0
  113. data/fonts/Palatino-Italic.afm +700 -0
  114. data/fonts/Palatino-Italic.inf +26 -0
  115. data/fonts/Palatino-Roman.afm +718 -0
  116. data/fonts/Palatino-Roman.inf +26 -0
  117. data/fonts/StempelGaramond-Bold.afm +412 -0
  118. data/fonts/StempelGaramond-Bold.inf +27 -0
  119. data/fonts/StempelGaramond-BoldItalic.afm +413 -0
  120. data/fonts/StempelGaramond-BoldItalic.inf +27 -0
  121. data/fonts/StempelGaramond-Italic.afm +413 -0
  122. data/fonts/StempelGaramond-Italic.inf +27 -0
  123. data/fonts/StempelGaramond-Roman.afm +412 -0
  124. data/fonts/StempelGaramond-Roman.inf +27 -0
  125. data/fonts/Symbol.afm +213 -0
  126. data/fonts/Symbol.inf +27 -0
  127. data/fonts/Times-Bold.afm +2588 -0
  128. data/fonts/Times-Bold.inf +26 -0
  129. data/fonts/Times-BoldItalic.afm +2384 -0
  130. data/fonts/Times-BoldItalic.inf +26 -0
  131. data/fonts/Times-Italic.afm +2667 -0
  132. data/fonts/Times-Italic.inf +26 -0
  133. data/fonts/Times-Roman.afm +2419 -0
  134. data/fonts/Times-Roman.inf +26 -0
  135. data/fonts/Univers-Bold.afm +712 -0
  136. data/fonts/Univers-Bold.inf +27 -0
  137. data/fonts/Univers-BoldOblique.afm +712 -0
  138. data/fonts/Univers-BoldOblique.inf +27 -0
  139. data/fonts/Univers-Condensed.afm +403 -0
  140. data/fonts/Univers-Condensed.inf +27 -0
  141. data/fonts/Univers-CondensedOblique.afm +403 -0
  142. data/fonts/Univers-CondensedOblique.inf +27 -0
  143. data/fonts/Univers-Light.afm +737 -0
  144. data/fonts/Univers-Light.inf +27 -0
  145. data/fonts/Univers-LightOblique.afm +737 -0
  146. data/fonts/Univers-LightOblique.inf +27 -0
  147. data/fonts/Univers-Oblique.afm +656 -0
  148. data/fonts/Univers-Oblique.inf +27 -0
  149. data/fonts/Univers.afm +656 -0
  150. data/fonts/Univers.inf +27 -0
  151. data/fonts/ZapfChancery-MediumItalic.afm +842 -0
  152. data/fonts/ZapfChancery-MediumItalic.inf +26 -0
  153. data/fonts/ZapfDingbats.afm +225 -0
  154. data/fonts/ZapfDingbats.inf +26 -0
  155. data/lib/epdfafm.rb +334 -0
  156. data/lib/epdfdw.rb +710 -0
  157. data/lib/epdfk.rb +3142 -0
  158. data/lib/epdfo.rb +882 -0
  159. data/lib/epdfpw.rb +1749 -0
  160. data/lib/epdfs.rb +101 -0
  161. data/lib/epdfsw.rb +267 -0
  162. data/lib/epdft.rb +145 -0
  163. data/lib/epdftt.rb +458 -0
  164. data/test/pdf_tests.rb +16 -0
  165. data/test/test.rb +816 -0
  166. data/test/test_epdfafm.rb +202 -0
  167. data/test/test_epdfdw.rb +369 -0
  168. data/test/test_epdfk.rb +47 -0
  169. data/test/test_epdfo.rb +762 -0
  170. data/test/test_epdfpw.rb +129 -0
  171. data/test/test_epdfs.rb +54 -0
  172. data/test/test_epdfsw.rb +314 -0
  173. data/test/test_epdft.rb +198 -0
  174. data/test/test_epdftt.rb +34 -0
  175. data/test/test_helpers.rb +18 -0
  176. data/test/testimg.jpg +0 -0
  177. metadata +247 -0
data/lib/epdfk.rb ADDED
@@ -0,0 +1,3142 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: ASCII-8BIT
3
+ #
4
+ # Created by Brent Rowland on 2007-08-26.
5
+ # Copyright (c) 2007, Eidetic Software. All rights reserved.
6
+
7
+ module EideticPDF
8
+ VERSION = '1.0.0'
9
+
10
+ module PdfK # :nodoc:
11
+ FONT_WIDTHS = [
12
+ [ # 0 Helvetica
13
+ 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
14
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
15
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
16
+ 0, 0, 278, 278, 355, 556, 556, 889, 667, 191, # 30
17
+ 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, # 40
18
+ 556, 556, 556, 556, 556, 556, 556, 556, 278, 278, # 50
19
+ 584, 584, 584, 556, 1015, 667, 667, 722, 722, 667, # 60
20
+ 611, 778, 722, 278, 500, 667, 556, 833, 722, 778, # 70
21
+ 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, # 80
22
+ 611, 278, 278, 278, 469, 556, 333, 556, 556, 500, # 90
23
+ 556, 556, 278, 556, 556, 222, 222, 500, 222, 833, # 100
24
+ 556, 556, 556, 556, 333, 500, 278, 556, 500, 722, # 110
25
+ 500, 500, 500, 334, 260, 334, 584, 350, 558, 350, # 120
26
+ 222, 556, 333, 1000, 556, 556, 333, 1000, 667, 333, # 130
27
+ 1000, 350, 611, 350, 350, 222, 222, 333, 333, 350, # 140
28
+ 556, 1000, 333, 1000, 500, 333, 944, 350, 500, 667, # 150
29
+ 278, 333, 556, 556, 556, 556, 260, 556, 333, 737, # 160
30
+ 370, 556, 584, 333, 737, 333, 333, 584, 333, 333, # 170
31
+ 333, 556, 537, 278, 333, 333, 365, 556, 834, 834, # 180
32
+ 834, 611, 667, 667, 667, 667, 667, 667, 1000, 722, # 190
33
+ 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, # 200
34
+ 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, # 210
35
+ 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, # 220
36
+ 889, 500, 556, 556, 556, 556, 278, 278, 278, 278, # 230
37
+ 556, 556, 556, 556, 556, 556, 556, 584, 611, 556, # 240
38
+ 556, 556, 556, 500, 556, 500], # 250
39
+ [ # 1 Helvetica-Bold
40
+ 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
41
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
42
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
43
+ 0, 0, 278, 333, 474, 556, 556, 889, 722, 238, # 30
44
+ 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, # 40
45
+ 556, 556, 556, 556, 556, 556, 556, 556, 333, 333, # 50
46
+ 584, 584, 584, 611, 975, 722, 722, 722, 722, 667, # 60
47
+ 611, 778, 722, 278, 556, 722, 611, 833, 722, 778, # 70
48
+ 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, # 80
49
+ 611, 333, 278, 333, 584, 556, 333, 556, 611, 556, # 90
50
+ 611, 556, 333, 611, 611, 278, 278, 556, 278, 889, # 100
51
+ 611, 611, 611, 611, 389, 556, 333, 611, 556, 778, # 110
52
+ 556, 556, 500, 389, 280, 389, 584, 350, 558, 350, # 120
53
+ 278, 556, 500, 1000, 556, 556, 333, 1000, 667, 333, # 130
54
+ 1000, 350, 611, 350, 350, 278, 278, 500, 500, 350, # 140
55
+ 556, 1000, 333, 1000, 556, 333, 944, 350, 500, 667, # 150
56
+ 278, 333, 556, 556, 556, 556, 280, 556, 333, 737, # 160
57
+ 370, 556, 584, 333, 737, 333, 333, 584, 333, 333, # 170
58
+ 333, 611, 556, 278, 333, 333, 365, 556, 834, 834, # 180
59
+ 834, 611, 722, 722, 722, 722, 722, 722, 1000, 722, # 190
60
+ 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, # 200
61
+ 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, # 210
62
+ 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, # 220
63
+ 889, 556, 556, 556, 556, 556, 278, 278, 278, 278, # 230
64
+ 611, 611, 611, 611, 611, 611, 611, 584, 611, 611, # 240
65
+ 611, 611, 611, 556, 611, 556], # 250
66
+ [ # 2 Helvetica-Oblique
67
+ 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
68
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
69
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
70
+ 0, 0, 278, 278, 355, 556, 556, 889, 667, 191, # 30
71
+ 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, # 40
72
+ 556, 556, 556, 556, 556, 556, 556, 556, 278, 278, # 50
73
+ 584, 584, 584, 556, 1015, 667, 667, 722, 722, 667, # 60
74
+ 611, 778, 722, 278, 500, 667, 556, 833, 722, 778, # 70
75
+ 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, # 80
76
+ 611, 278, 278, 278, 469, 556, 333, 556, 556, 500, # 90
77
+ 556, 556, 278, 556, 556, 222, 222, 500, 222, 833, # 100
78
+ 556, 556, 556, 556, 333, 500, 278, 556, 500, 722, # 110
79
+ 500, 500, 500, 334, 260, 334, 584, 350, 558, 350, # 120
80
+ 222, 556, 333, 1000, 556, 556, 333, 1000, 667, 333, # 130
81
+ 1000, 350, 611, 350, 350, 222, 222, 333, 333, 350, # 140
82
+ 556, 1000, 333, 1000, 500, 333, 944, 350, 500, 667, # 150
83
+ 278, 333, 556, 556, 556, 556, 260, 556, 333, 737, # 160
84
+ 370, 556, 584, 333, 737, 333, 333, 584, 333, 333, # 170
85
+ 333, 556, 537, 278, 333, 333, 365, 556, 834, 834, # 180
86
+ 834, 611, 667, 667, 667, 667, 667, 667, 1000, 722, # 190
87
+ 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, # 200
88
+ 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, # 210
89
+ 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, # 220
90
+ 889, 500, 556, 556, 556, 556, 278, 278, 278, 278, # 230
91
+ 556, 556, 556, 556, 556, 556, 556, 584, 611, 556, # 240
92
+ 556, 556, 556, 500, 556, 500], # 250
93
+ [ # 3 Helvetica-BoldOblique
94
+ 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
95
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
96
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
97
+ 0, 0, 278, 333, 474, 556, 556, 889, 722, 238, # 30
98
+ 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, # 40
99
+ 556, 556, 556, 556, 556, 556, 556, 556, 333, 333, # 50
100
+ 584, 584, 584, 611, 975, 722, 722, 722, 722, 667, # 60
101
+ 611, 778, 722, 278, 556, 722, 611, 833, 722, 778, # 70
102
+ 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, # 80
103
+ 611, 333, 278, 333, 584, 556, 333, 556, 611, 556, # 90
104
+ 611, 556, 333, 611, 611, 278, 278, 556, 278, 889, # 100
105
+ 611, 611, 611, 611, 389, 556, 333, 611, 556, 778, # 110
106
+ 556, 556, 500, 389, 280, 389, 584, 350, 558, 350, # 120
107
+ 278, 556, 500, 1000, 556, 556, 333, 1000, 667, 333, # 130
108
+ 1000, 350, 611, 350, 350, 278, 278, 500, 500, 350, # 140
109
+ 556, 1000, 333, 1000, 556, 333, 944, 350, 500, 667, # 150
110
+ 278, 333, 556, 556, 556, 556, 280, 556, 333, 737, # 160
111
+ 370, 556, 584, 333, 737, 333, 333, 584, 333, 333, # 170
112
+ 333, 611, 556, 278, 333, 333, 365, 556, 834, 834, # 180
113
+ 834, 611, 722, 722, 722, 722, 722, 722, 1000, 722, # 190
114
+ 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, # 200
115
+ 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, # 210
116
+ 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, # 220
117
+ 889, 556, 556, 556, 556, 556, 278, 278, 278, 278, # 230
118
+ 611, 611, 611, 611, 611, 611, 611, 584, 611, 611, # 240
119
+ 611, 611, 611, 556, 611, 556], # 250
120
+ [ # 4 Times-Roman
121
+ 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
122
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
123
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
124
+ 0, 0, 250, 333, 408, 500, 500, 833, 778, 180, # 30
125
+ 333, 333, 500, 564, 250, 333, 250, 278, 500, 500, # 40
126
+ 500, 500, 500, 500, 500, 500, 500, 500, 278, 278, # 50
127
+ 564, 564, 564, 444, 921, 722, 667, 667, 722, 611, # 60
128
+ 556, 722, 722, 333, 389, 722, 611, 889, 722, 722, # 70
129
+ 556, 722, 667, 556, 611, 722, 722, 944, 722, 722, # 80
130
+ 611, 333, 278, 333, 469, 500, 333, 444, 500, 444, # 90
131
+ 500, 444, 333, 500, 500, 278, 278, 500, 278, 778, # 100
132
+ 500, 500, 500, 500, 333, 389, 278, 500, 500, 722, # 110
133
+ 500, 500, 444, 480, 200, 480, 541, 350, 500, 350, # 120
134
+ 333, 500, 444, 1000, 500, 500, 333, 1000, 556, 333, # 130
135
+ 889, 350, 611, 350, 350, 333, 333, 444, 444, 350, # 140
136
+ 500, 1000, 333, 980, 389, 333, 722, 350, 444, 722, # 150
137
+ 250, 333, 500, 500, 500, 500, 200, 500, 333, 760, # 160
138
+ 276, 500, 564, 333, 760, 333, 333, 564, 300, 300, # 170
139
+ 333, 500, 453, 250, 333, 300, 310, 500, 750, 750, # 180
140
+ 750, 444, 722, 722, 722, 722, 722, 722, 889, 667, # 190
141
+ 611, 611, 611, 611, 333, 333, 333, 333, 722, 722, # 200
142
+ 722, 722, 722, 722, 722, 564, 722, 722, 722, 722, # 210
143
+ 722, 722, 556, 500, 444, 444, 444, 444, 444, 444, # 220
144
+ 667, 444, 444, 444, 444, 444, 278, 278, 278, 278, # 230
145
+ 500, 500, 500, 500, 500, 500, 500, 564, 500, 500, # 240
146
+ 500, 500, 500, 500, 500, 500], # 250
147
+ [ # 5 Times-Bold
148
+ 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
149
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
150
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
151
+ 0, 0, 250, 333, 555, 500, 500, 1000, 833, 278, # 30
152
+ 333, 333, 500, 570, 250, 333, 250, 278, 500, 500, # 40
153
+ 500, 500, 500, 500, 500, 500, 500, 500, 333, 333, # 50
154
+ 570, 570, 570, 500, 930, 722, 667, 722, 722, 667, # 60
155
+ 611, 778, 778, 389, 500, 778, 667, 944, 722, 778, # 70
156
+ 611, 778, 722, 556, 667, 722, 722, 1000, 722, 722, # 80
157
+ 667, 333, 278, 333, 581, 500, 333, 500, 556, 444, # 90
158
+ 556, 444, 333, 500, 556, 278, 333, 556, 278, 833, # 100
159
+ 556, 500, 556, 556, 444, 389, 333, 556, 500, 722, # 110
160
+ 500, 500, 444, 394, 220, 394, 520, 350, 500, 350, # 120
161
+ 333, 500, 500, 1000, 500, 500, 333, 1000, 556, 333, # 130
162
+ 1000, 350, 667, 350, 350, 333, 333, 500, 500, 350, # 140
163
+ 500, 1000, 333, 1000, 389, 333, 722, 350, 444, 722, # 150
164
+ 250, 333, 500, 500, 500, 500, 220, 500, 333, 747, # 160
165
+ 300, 500, 570, 333, 747, 333, 333, 570, 300, 300, # 170
166
+ 333, 556, 540, 250, 333, 300, 330, 500, 750, 750, # 180
167
+ 750, 500, 722, 722, 722, 722, 722, 722, 1000, 722, # 190
168
+ 667, 667, 667, 667, 389, 389, 389, 389, 722, 722, # 200
169
+ 778, 778, 778, 778, 778, 570, 778, 722, 722, 722, # 210
170
+ 722, 722, 611, 556, 500, 500, 500, 500, 500, 500, # 220
171
+ 722, 444, 444, 444, 444, 444, 278, 278, 278, 278, # 230
172
+ 500, 556, 500, 500, 500, 500, 500, 570, 500, 556, # 240
173
+ 556, 556, 556, 500, 556, 500], # 250
174
+ [ # 6 Times-Italic
175
+ 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
176
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
177
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
178
+ 0, 0, 250, 333, 420, 500, 500, 833, 778, 214, # 30
179
+ 333, 333, 500, 675, 250, 333, 250, 278, 500, 500, # 40
180
+ 500, 500, 500, 500, 500, 500, 500, 500, 333, 333, # 50
181
+ 675, 675, 675, 500, 920, 611, 611, 667, 722, 611, # 60
182
+ 611, 722, 722, 333, 444, 667, 556, 833, 667, 722, # 70
183
+ 611, 722, 611, 500, 556, 722, 611, 833, 611, 556, # 80
184
+ 556, 389, 278, 389, 422, 500, 333, 500, 500, 444, # 90
185
+ 500, 444, 278, 500, 500, 278, 278, 444, 278, 722, # 100
186
+ 500, 500, 500, 500, 389, 389, 278, 500, 444, 667, # 110
187
+ 444, 444, 389, 400, 275, 400, 541, 350, 500, 350, # 120
188
+ 333, 500, 556, 889, 500, 500, 333, 1000, 500, 333, # 130
189
+ 944, 350, 556, 350, 350, 333, 333, 556, 556, 350, # 140
190
+ 500, 889, 333, 980, 389, 333, 667, 350, 389, 556, # 150
191
+ 250, 389, 500, 500, 500, 500, 275, 500, 333, 760, # 160
192
+ 276, 500, 675, 333, 760, 333, 333, 675, 300, 300, # 170
193
+ 333, 500, 523, 250, 333, 300, 310, 500, 750, 750, # 180
194
+ 750, 500, 611, 611, 611, 611, 611, 611, 889, 667, # 190
195
+ 611, 611, 611, 611, 333, 333, 333, 333, 722, 667, # 200
196
+ 722, 722, 722, 722, 722, 675, 722, 722, 722, 722, # 210
197
+ 722, 556, 611, 500, 500, 500, 500, 500, 500, 500, # 220
198
+ 667, 444, 444, 444, 444, 444, 278, 278, 278, 278, # 230
199
+ 500, 500, 500, 500, 500, 500, 500, 675, 500, 500, # 240
200
+ 500, 500, 500, 444, 500, 444], # 250
201
+ [ # 7 Times-BoldItalic
202
+ 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
203
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
204
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
205
+ 0, 0, 250, 389, 555, 500, 500, 833, 778, 278, # 30
206
+ 333, 333, 500, 570, 250, 333, 250, 278, 500, 500, # 40
207
+ 500, 500, 500, 500, 500, 500, 500, 500, 333, 333, # 50
208
+ 570, 570, 570, 500, 832, 667, 667, 667, 722, 667, # 60
209
+ 667, 722, 778, 389, 500, 667, 611, 889, 722, 722, # 70
210
+ 611, 722, 667, 556, 611, 722, 667, 889, 667, 611, # 80
211
+ 611, 333, 278, 333, 570, 500, 333, 500, 500, 444, # 90
212
+ 500, 444, 333, 500, 556, 278, 278, 500, 278, 778, # 100
213
+ 556, 500, 500, 500, 389, 389, 278, 556, 444, 667, # 110
214
+ 500, 444, 389, 348, 220, 348, 570, 350, 500, 350, # 120
215
+ 333, 500, 500, 1000, 500, 500, 333, 1000, 556, 333, # 130
216
+ 944, 350, 611, 350, 350, 333, 333, 500, 500, 350, # 140
217
+ 500, 1000, 333, 1000, 389, 333, 722, 350, 389, 611, # 150
218
+ 250, 389, 500, 500, 500, 500, 220, 500, 333, 747, # 160
219
+ 266, 500, 606, 333, 747, 333, 333, 570, 300, 300, # 170
220
+ 333, 576, 500, 250, 333, 300, 300, 500, 750, 750, # 180
221
+ 750, 500, 667, 667, 667, 667, 667, 667, 944, 667, # 190
222
+ 667, 667, 667, 667, 389, 389, 389, 389, 722, 722, # 200
223
+ 722, 722, 722, 722, 722, 570, 722, 722, 722, 722, # 210
224
+ 722, 611, 611, 500, 500, 500, 500, 500, 500, 500, # 220
225
+ 722, 444, 444, 444, 444, 444, 278, 278, 278, 278, # 230
226
+ 500, 556, 500, 500, 500, 500, 500, 570, 500, 556, # 240
227
+ 556, 556, 556, 444, 500, 444], # 250
228
+ [ # 8 Courier
229
+ 600, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
230
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
231
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
232
+ 0, 0, 600, 600, 600, 600, 600, 600, 600, 600, # 30
233
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 40
234
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 50
235
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 60
236
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 70
237
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 80
238
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 90
239
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 100
240
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 110
241
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 120
242
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 130
243
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 140
244
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 150
245
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 160
246
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 170
247
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 180
248
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 190
249
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 200
250
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 210
251
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 220
252
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 230
253
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 240
254
+ 600, 600, 600, 600, 600, 600], # 250
255
+ [ # 9 Courier-Bold
256
+ 600, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
257
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
258
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
259
+ 0, 0, 600, 600, 600, 600, 600, 600, 600, 600, # 30
260
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 40
261
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 50
262
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 60
263
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 70
264
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 80
265
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 90
266
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 100
267
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 110
268
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 120
269
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 130
270
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 140
271
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 150
272
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 160
273
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 170
274
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 180
275
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 190
276
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 200
277
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 210
278
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 220
279
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 230
280
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 240
281
+ 600, 600, 600, 600, 600, 600], # 250
282
+ [ # 10 Courier-Oblique }
283
+ 600, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
284
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
285
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
286
+ 0, 0, 600, 600, 600, 600, 600, 600, 600, 600, # 30
287
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 40
288
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 50
289
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 60
290
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 70
291
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 80
292
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 90
293
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 100
294
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 110
295
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 120
296
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 130
297
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 140
298
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 150
299
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 160
300
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 170
301
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 180
302
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 190
303
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 200
304
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 210
305
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 220
306
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 230
307
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 240
308
+ 600, 600, 600, 600, 600, 600], # 250
309
+ [ # 11 Courier-BoldOblique }
310
+ 600, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
311
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
312
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
313
+ 0, 0, 600, 600, 600, 600, 600, 600, 600, 600, # 30
314
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 40
315
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 50
316
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 60
317
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 70
318
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 80
319
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 90
320
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 100
321
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 110
322
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 120
323
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 130
324
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 140
325
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 150
326
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 160
327
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 170
328
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 180
329
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 190
330
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 200
331
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 210
332
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 220
333
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 230
334
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, # 240
335
+ 600, 600, 600, 600, 600, 600], # 250
336
+ [ # 12 Symbol --- This is in StandardEncoding
337
+ 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
338
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
339
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
340
+ 0, 0, 250, 333, 713, 500, 549, 833, 778, 439, # 30
341
+ 333, 333, 500, 549, 250, 549, 250, 278, 500, 500, # 40
342
+ 500, 500, 500, 500, 500, 500, 500, 500, 278, 278, # 50
343
+ 549, 549, 549, 444, 549, 722, 667, 722, 612, 611, # 60
344
+ 763, 603, 722, 333, 631, 722, 686, 889, 722, 722, # 70
345
+ 768, 741, 556, 592, 611, 690, 439, 768, 645, 795, # 80
346
+ 611, 333, 863, 333, 658, 500, 500, 631, 549, 549, # 90
347
+ 494, 439, 521, 411, 603, 329, 603, 549, 549, 576, # 100
348
+ 521, 549, 549, 521, 549, 603, 439, 576, 713, 686, # 110
349
+ 493, 686, 494, 480, 200, 480, 549, 0, 0, 0, # 120
350
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 130
351
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 140
352
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 150
353
+ 0, 620, 247, 549, 167, 713, 500, 753, 753, 753, # 160
354
+ 753, 1042, 987, 603, 987, 603, 400, 549, 411, 549, # 170
355
+ 549, 713, 494, 460, 549, 549, 549, 549, 1000, 603, # 180
356
+ 1000, 658, 823, 686, 795, 987, 768, 768, 823, 768, # 190
357
+ 768, 713, 713, 713, 713, 713, 713, 713, 768, 713, # 200
358
+ 790, 790, 890, 823, 549, 250, 713, 603, 603, 1042, # 210
359
+ 987, 603, 987, 603, 494, 329, 790, 790, 786, 713, # 220
360
+ 384, 384, 384, 384, 384, 384, 494, 494, 494, 494, # 230
361
+ 0, 329, 274, 686, 686, 686, 384, 384, 384, 384, # 240
362
+ 384, 384, 494, 494, 494, 0], # 250
363
+ [ # 13 ZapfDingbats --- This is in StandardEncoding
364
+ 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
365
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
366
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
367
+ 0, 0, 278, 974, 961, 974, 980, 719, 789, 790, # 30
368
+ 791, 690, 960, 939, 549, 855, 911, 933, 911, 945, # 40
369
+ 974, 755, 846, 762, 761, 571, 677, 763, 760, 759, # 50
370
+ 754, 494, 552, 537, 577, 692, 786, 788, 788, 790, # 60
371
+ 793, 794, 816, 823, 789, 841, 823, 833, 816, 831, # 70
372
+ 923, 744, 723, 749, 790, 792, 695, 776, 768, 792, # 80
373
+ 759, 707, 708, 682, 701, 826, 815, 789, 789, 707, # 90
374
+ 687, 696, 689, 786, 787, 713, 791, 785, 791, 873, # 100
375
+ 761, 762, 762, 759, 759, 892, 892, 788, 784, 438, # 110
376
+ 138, 277, 415, 392, 392, 668, 668, 0, 0, 0, # 120
377
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 130
378
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 140
379
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 150
380
+ 0, 732, 544, 544, 910, 667, 760, 760, 776, 595, # 160
381
+ 694, 626, 788, 788, 788, 788, 788, 788, 788, 788, # 170
382
+ 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, # 180
383
+ 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, # 190
384
+ 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, # 200
385
+ 788, 788, 894, 838, 1016, 458, 748, 924, 748, 918, # 210
386
+ 927, 928, 928, 834, 873, 828, 924, 924, 917, 930, # 220
387
+ 931, 463, 883, 836, 836, 867, 867, 696, 696, 874, # 230
388
+ 0, 874, 760, 946, 771, 865, 771, 888, 967, 888, # 240
389
+ 831, 873, 927, 970, 918, 0], # 250
390
+ [ # 14 AvantGarde-Book
391
+ 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
392
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
393
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
394
+ 0, 0, 277, 295, 309, 554, 554, 775, 757, 198, # 30
395
+ 369, 369, 425, 606, 277, 332, 277, 437, 554, 554, # 40
396
+ 554, 554, 554, 554, 554, 554, 554, 554, 277, 277, # 50
397
+ 606, 606, 606, 591, 867, 740, 574, 813, 744, 536, # 60
398
+ 485, 872, 683, 226, 482, 591, 462, 919, 740, 869, # 70
399
+ 592, 871, 607, 498, 426, 655, 702, 960, 609, 592, # 80
400
+ 480, 351, 605, 351, 606, 500, 378, 683, 682, 647, # 90
401
+ 685, 650, 314, 673, 610, 200, 203, 502, 200, 938, # 100
402
+ 610, 655, 682, 682, 301, 388, 339, 608, 554, 831, # 110
403
+ 480, 536, 425, 351, 672, 351, 606, 606, 558, 606, # 120
404
+ 354, 554, 502, 1000, 553, 553, 502, 1174, 498, 251, # 130
405
+ 1194, 606, 480, 606, 606, 351, 351, 502, 484, 606, # 140
406
+ 500, 1000, 439, 1000, 388, 251, 1137, 606, 425, 592, # 150
407
+ 277, 295, 554, 554, 554, 554, 672, 615, 369, 747, # 160
408
+ 369, 425, 606, 332, 747, 485, 332, 606, 332, 332, # 170
409
+ 375, 608, 564, 277, 324, 332, 369, 425, 831, 831, # 180
410
+ 831, 591, 740, 740, 740, 740, 740, 740, 992, 813, # 190
411
+ 536, 536, 536, 536, 226, 226, 226, 226, 790, 740, # 200
412
+ 869, 869, 869, 869, 869, 606, 868, 655, 655, 655, # 210
413
+ 655, 592, 592, 554, 683, 683, 683, 683, 683, 683, # 220
414
+ 1157, 647, 650, 650, 650, 650, 200, 200, 200, 200, # 230
415
+ 655, 610, 655, 655, 655, 655, 655, 606, 653, 608, # 240
416
+ 608, 608, 608, 536, 682, 536], # 250
417
+ [ # 15 AvantGarde-BookOblique
418
+ 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
419
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
420
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
421
+ 0, 0, 277, 295, 309, 554, 554, 775, 757, 198, # 30
422
+ 369, 369, 425, 606, 277, 332, 277, 437, 554, 554, # 40
423
+ 554, 554, 554, 554, 554, 554, 554, 554, 277, 277, # 50
424
+ 606, 606, 606, 591, 867, 740, 574, 813, 744, 536, # 60
425
+ 485, 872, 683, 226, 482, 591, 462, 919, 740, 869, # 70
426
+ 592, 871, 607, 498, 426, 655, 702, 960, 609, 592, # 80
427
+ 480, 351, 605, 351, 606, 500, 378, 683, 682, 647, # 90
428
+ 685, 650, 314, 673, 610, 200, 203, 502, 200, 938, # 100
429
+ 610, 655, 682, 682, 301, 388, 339, 608, 554, 831, # 110
430
+ 480, 536, 425, 351, 672, 351, 606, 606, 558, 606, # 120
431
+ 354, 554, 502, 1000, 553, 553, 502, 1174, 498, 251, # 130
432
+ 1194, 606, 480, 606, 606, 351, 351, 502, 484, 606, # 140
433
+ 500, 1000, 439, 1000, 388, 251, 1137, 606, 425, 592, # 150
434
+ 277, 295, 554, 554, 554, 554, 672, 615, 369, 747, # 160
435
+ 369, 425, 606, 332, 747, 485, 332, 606, 332, 332, # 170
436
+ 375, 608, 564, 277, 324, 332, 369, 425, 831, 831, # 180
437
+ 831, 591, 740, 740, 740, 740, 740, 740, 992, 813, # 190
438
+ 536, 536, 536, 536, 226, 226, 226, 226, 790, 740, # 200
439
+ 869, 869, 869, 869, 869, 606, 868, 655, 655, 655, # 210
440
+ 655, 592, 592, 554, 683, 683, 683, 683, 683, 683, # 220
441
+ 1157, 647, 650, 650, 650, 650, 200, 200, 200, 200, # 230
442
+ 655, 610, 655, 655, 655, 655, 655, 606, 653, 608, # 240
443
+ 608, 608, 608, 536, 682, 536], # 250
444
+ [ # 16 AvantGarde-Demi
445
+ 280, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
446
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
447
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
448
+ 0, 0, 280, 280, 360, 560, 560, 860, 680, 220, # 30
449
+ 380, 380, 440, 600, 280, 420, 280, 460, 560, 560, # 40
450
+ 560, 560, 560, 560, 560, 560, 560, 560, 280, 280, # 50
451
+ 600, 600, 600, 560, 740, 740, 580, 780, 700, 520, # 60
452
+ 480, 840, 680, 280, 480, 620, 440, 900, 740, 840, # 70
453
+ 560, 840, 580, 520, 420, 640, 700, 900, 680, 620, # 80
454
+ 500, 320, 640, 320, 600, 500, 420, 660, 660, 640, # 90
455
+ 660, 640, 280, 660, 600, 240, 260, 580, 240, 940, # 100
456
+ 600, 640, 660, 660, 320, 440, 300, 600, 560, 800, # 110
457
+ 560, 580, 460, 340, 600, 340, 600, 600, 558, 600, # 120
458
+ 280, 560, 480, 1000, 560, 560, 540, 1280, 520, 240, # 130
459
+ 1060, 600, 500, 600, 600, 280, 280, 480, 480, 600, # 140
460
+ 500, 1000, 480, 1000, 440, 240, 1080, 600, 460, 620, # 150
461
+ 280, 280, 560, 560, 560, 560, 600, 560, 500, 740, # 160
462
+ 360, 460, 600, 420, 740, 420, 360, 600, 336, 336, # 170
463
+ 420, 576, 600, 280, 340, 336, 360, 460, 840, 840, # 180
464
+ 840, 560, 740, 740, 740, 740, 740, 740, 900, 780, # 190
465
+ 520, 520, 520, 520, 280, 280, 280, 280, 742, 740, # 200
466
+ 840, 840, 840, 840, 840, 600, 840, 640, 640, 640, # 210
467
+ 640, 620, 560, 600, 660, 660, 660, 660, 660, 660, # 220
468
+ 1080, 640, 640, 640, 640, 640, 240, 240, 240, 240, # 230
469
+ 640, 600, 640, 640, 640, 640, 640, 600, 660, 600, # 240
470
+ 600, 600, 600, 580, 660, 580], # 250
471
+ [ # 17 AvantGarde-DemiOblique
472
+ 280, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
473
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
474
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
475
+ 0, 0, 280, 280, 360, 560, 560, 860, 680, 220, # 30
476
+ 380, 380, 440, 600, 280, 420, 280, 460, 560, 560, # 40
477
+ 560, 560, 560, 560, 560, 560, 560, 560, 280, 280, # 50
478
+ 600, 600, 600, 560, 740, 740, 580, 780, 700, 520, # 60
479
+ 480, 840, 680, 280, 480, 620, 440, 900, 740, 840, # 70
480
+ 560, 840, 580, 520, 420, 640, 700, 900, 680, 620, # 80
481
+ 500, 320, 640, 320, 600, 500, 420, 660, 660, 640, # 90
482
+ 660, 640, 280, 660, 600, 240, 260, 580, 240, 940, # 100
483
+ 600, 640, 660, 660, 320, 440, 300, 600, 560, 800, # 110
484
+ 560, 580, 460, 340, 600, 340, 600, 600, 558, 600, # 120
485
+ 280, 560, 480, 1000, 560, 560, 540, 1280, 520, 240, # 130
486
+ 1060, 600, 500, 600, 600, 280, 280, 480, 480, 600, # 140
487
+ 500, 1000, 480, 1000, 440, 240, 1080, 600, 460, 620, # 150
488
+ 280, 280, 560, 560, 560, 560, 600, 560, 500, 740, # 160
489
+ 360, 460, 600, 420, 740, 420, 360, 600, 336, 336, # 170
490
+ 420, 576, 600, 280, 340, 336, 360, 460, 840, 840, # 180
491
+ 840, 560, 740, 740, 740, 740, 740, 740, 900, 780, # 190
492
+ 520, 520, 520, 520, 280, 280, 280, 280, 742, 740, # 200
493
+ 840, 840, 840, 840, 840, 600, 840, 640, 640, 640, # 210
494
+ 640, 620, 560, 600, 660, 660, 660, 660, 660, 660, # 220
495
+ 1080, 640, 640, 640, 640, 640, 240, 240, 240, 240, # 230
496
+ 640, 600, 640, 640, 640, 640, 640, 600, 660, 600, # 240
497
+ 600, 600, 600, 580, 660, 580], # 250
498
+ [ # 18 Bookman-Demi }
499
+ 340, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
500
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
501
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
502
+ 0, 0, 340, 360, 420, 660, 660, 940, 800, 240, # 30
503
+ 320, 320, 460, 600, 340, 360, 340, 600, 660, 660, # 40
504
+ 660, 660, 660, 660, 660, 660, 660, 660, 340, 340, # 50
505
+ 600, 600, 600, 660, 820, 720, 720, 740, 780, 720, # 60
506
+ 680, 780, 820, 400, 640, 800, 640, 940, 740, 800, # 70
507
+ 660, 800, 780, 660, 700, 740, 720, 940, 780, 700, # 80
508
+ 640, 300, 600, 300, 600, 500, 400, 580, 600, 580, # 90
509
+ 640, 580, 380, 580, 680, 360, 340, 660, 340, 1000, # 100
510
+ 680, 620, 640, 620, 460, 520, 460, 660, 600, 800, # 110
511
+ 600, 620, 560, 320, 600, 320, 600, 460, 558, 460, # 120
512
+ 320, 660, 540, 1000, 440, 380, 500, 1360, 660, 220, # 130
513
+ 1220, 460, 640, 460, 460, 320, 320, 540, 540, 460, # 140
514
+ 500, 1000, 480, 980, 520, 220, 940, 460, 560, 700, # 150
515
+ 340, 360, 660, 660, 660, 660, 600, 600, 500, 740, # 160
516
+ 400, 400, 600, 360, 740, 460, 340, 600, 396, 396, # 170
517
+ 400, 660, 800, 340, 360, 396, 400, 400, 990, 990, # 180
518
+ 990, 660, 720, 720, 720, 720, 720, 720, 1140, 740, # 190
519
+ 720, 720, 720, 720, 400, 400, 400, 400, 780, 740, # 200
520
+ 800, 800, 800, 800, 800, 600, 800, 740, 740, 740, # 210
521
+ 740, 700, 660, 660, 580, 580, 580, 580, 580, 580, # 220
522
+ 880, 580, 580, 580, 580, 580, 360, 360, 360, 360, # 230
523
+ 620, 680, 620, 620, 620, 620, 620, 600, 620, 660, # 240
524
+ 660, 660, 660, 620, 640, 620], # 250
525
+ [ # 19 Bookman-DemiItalic }
526
+ 340, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
527
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
528
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
529
+ 0, 0, 340, 320, 380, 680, 680, 880, 980, 180, # 30
530
+ 260, 260, 460, 600, 340, 280, 340, 360, 680, 680, # 40
531
+ 680, 680, 680, 680, 680, 680, 680, 680, 340, 340, # 50
532
+ 620, 600, 620, 620, 780, 720, 720, 700, 760, 720, # 60
533
+ 660, 760, 800, 380, 620, 780, 640, 860, 740, 760, # 70
534
+ 640, 760, 740, 700, 700, 740, 660, 1000, 740, 660, # 80
535
+ 680, 260, 580, 260, 620, 500, 380, 680, 600, 560, # 90
536
+ 680, 560, 420, 620, 700, 380, 320, 700, 380, 960, # 100
537
+ 680, 600, 660, 620, 500, 540, 440, 680, 540, 860, # 110
538
+ 620, 600, 560, 300, 620, 300, 620, 360, 558, 360, # 120
539
+ 300, 680, 520, 1000, 420, 420, 480, 1360, 700, 220, # 130
540
+ 1180, 360, 680, 360, 360, 320, 320, 520, 520, 360, # 140
541
+ 500, 1000, 480, 940, 540, 220, 920, 360, 560, 660, # 150
542
+ 340, 320, 680, 680, 680, 680, 620, 620, 520, 780, # 160
543
+ 440, 380, 620, 280, 780, 480, 360, 600, 408, 408, # 170
544
+ 340, 680, 680, 340, 360, 408, 440, 380, 1020, 1020, # 180
545
+ 1020, 620, 720, 720, 720, 720, 720, 720, 1140, 700, # 190
546
+ 720, 720, 720, 720, 380, 380, 380, 380, 760, 740, # 200
547
+ 760, 760, 760, 760, 760, 600, 760, 740, 740, 740, # 210
548
+ 740, 660, 640, 660, 680, 680, 680, 680, 680, 680, # 220
549
+ 880, 560, 560, 560, 560, 560, 380, 380, 380, 380, # 230
550
+ 600, 680, 600, 600, 600, 600, 600, 600, 600, 680, # 240
551
+ 680, 680, 680, 600, 660, 600], # 250
552
+ [ # 20 Bookman-Light
553
+ 320, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
554
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
555
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
556
+ 0, 0, 320, 300, 380, 620, 620, 900, 800, 220, # 30
557
+ 300, 300, 440, 600, 320, 400, 320, 600, 620, 620, # 40
558
+ 620, 620, 620, 620, 620, 620, 620, 620, 320, 320, # 50
559
+ 600, 600, 600, 540, 820, 680, 740, 740, 800, 720, # 60
560
+ 640, 800, 800, 340, 600, 720, 600, 920, 740, 800, # 70
561
+ 620, 820, 720, 660, 620, 780, 700, 960, 720, 640, # 80
562
+ 640, 300, 600, 300, 600, 500, 340, 580, 620, 520, # 90
563
+ 620, 520, 320, 540, 660, 300, 300, 620, 300, 940, # 100
564
+ 660, 560, 620, 580, 440, 520, 380, 680, 520, 780, # 110
565
+ 560, 540, 480, 280, 600, 280, 600, 460, 558, 460, # 120
566
+ 220, 620, 400, 1000, 540, 540, 420, 1280, 660, 240, # 130
567
+ 1240, 460, 640, 460, 460, 220, 220, 400, 400, 460, # 140
568
+ 500, 1000, 440, 980, 520, 240, 900, 460, 480, 640, # 150
569
+ 320, 300, 620, 620, 620, 620, 600, 520, 420, 740, # 160
570
+ 420, 360, 600, 400, 740, 440, 320, 600, 372, 372, # 170
571
+ 340, 680, 600, 320, 320, 372, 420, 360, 930, 930, # 180
572
+ 930, 540, 680, 680, 680, 680, 680, 680, 1260, 740, # 190
573
+ 720, 720, 720, 720, 340, 340, 340, 340, 800, 740, # 200
574
+ 800, 800, 800, 800, 800, 600, 800, 780, 780, 780, # 210
575
+ 780, 640, 620, 660, 580, 580, 580, 580, 580, 580, # 220
576
+ 860, 520, 520, 520, 520, 520, 300, 300, 300, 300, # 230
577
+ 560, 660, 560, 560, 560, 560, 560, 600, 560, 680, # 240
578
+ 680, 680, 680, 540, 620, 540], # 250
579
+ [ # 21 Bookman-LightItalic
580
+ 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
581
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
582
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
583
+ 0, 0, 300, 320, 360, 620, 620, 800, 820, 200, # 30
584
+ 280, 280, 440, 600, 300, 320, 300, 600, 620, 620, # 40
585
+ 620, 620, 620, 620, 620, 620, 620, 620, 300, 300, # 50
586
+ 600, 600, 600, 540, 780, 700, 720, 720, 740, 680, # 60
587
+ 620, 760, 800, 320, 560, 720, 580, 860, 720, 760, # 70
588
+ 600, 780, 700, 640, 600, 720, 680, 960, 700, 660, # 80
589
+ 580, 260, 600, 260, 600, 500, 340, 620, 600, 480, # 90
590
+ 640, 540, 340, 560, 620, 280, 280, 600, 280, 880, # 100
591
+ 620, 540, 600, 560, 400, 540, 340, 620, 540, 880, # 110
592
+ 540, 600, 520, 360, 600, 380, 600, 460, 558, 460, # 120
593
+ 320, 620, 480, 1000, 620, 620, 440, 1180, 640, 180, # 130
594
+ 1180, 460, 580, 460, 460, 280, 280, 440, 440, 460, # 140
595
+ 500, 1000, 440, 980, 540, 180, 900, 460, 520, 660, # 150
596
+ 300, 320, 620, 620, 620, 620, 600, 620, 420, 740, # 160
597
+ 440, 300, 600, 320, 740, 440, 300, 600, 372, 372, # 170
598
+ 320, 620, 620, 300, 320, 372, 400, 300, 930, 930, # 180
599
+ 930, 540, 700, 700, 700, 700, 700, 700, 1220, 720, # 190
600
+ 680, 680, 680, 680, 320, 320, 320, 320, 740, 720, # 200
601
+ 760, 760, 760, 760, 760, 600, 760, 720, 720, 720, # 210
602
+ 720, 660, 600, 620, 620, 620, 620, 620, 620, 620, # 220
603
+ 880, 480, 540, 540, 540, 540, 280, 280, 280, 280, # 230
604
+ 540, 620, 540, 540, 540, 540, 540, 600, 540, 620, # 240
605
+ 620, 620, 620, 600, 600, 600], # 250
606
+ [ # 22 Helvetica-Narrow
607
+ 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
608
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
609
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
610
+ 0, 0, 228, 228, 291, 456, 456, 729, 547, 157, # 30
611
+ 273, 273, 319, 479, 228, 273, 228, 228, 456, 456, # 40
612
+ 456, 456, 456, 456, 456, 456, 456, 456, 228, 228, # 50
613
+ 479, 479, 479, 456, 832, 547, 547, 592, 592, 547, # 60
614
+ 501, 638, 592, 228, 410, 547, 456, 683, 592, 638, # 70
615
+ 547, 638, 592, 547, 501, 592, 547, 774, 547, 547, # 80
616
+ 501, 228, 228, 228, 385, 456, 273, 456, 456, 410, # 90
617
+ 456, 456, 228, 456, 456, 182, 182, 410, 182, 683, # 100
618
+ 456, 456, 456, 456, 273, 410, 228, 456, 410, 592, # 110
619
+ 410, 410, 410, 274, 213, 274, 479, 287, 558, 287, # 120
620
+ 182, 456, 273, 820, 456, 456, 273, 820, 547, 273, # 130
621
+ 820, 287, 501, 287, 287, 182, 182, 273, 273, 287, # 140
622
+ 456, 820, 273, 820, 410, 273, 774, 287, 410, 547, # 150
623
+ 228, 273, 456, 456, 456, 456, 213, 456, 273, 604, # 160
624
+ 303, 456, 479, 273, 604, 273, 273, 479, 273, 273, # 170
625
+ 273, 456, 440, 228, 273, 273, 299, 456, 684, 684, # 180
626
+ 684, 501, 547, 547, 547, 547, 547, 547, 820, 592, # 190
627
+ 547, 547, 547, 547, 228, 228, 228, 228, 592, 592, # 200
628
+ 638, 638, 638, 638, 638, 479, 638, 592, 592, 592, # 210
629
+ 592, 547, 547, 501, 456, 456, 456, 456, 456, 456, # 220
630
+ 729, 410, 456, 456, 456, 456, 228, 228, 228, 228, # 230
631
+ 456, 456, 456, 456, 456, 456, 456, 479, 501, 456, # 240
632
+ 456, 456, 456, 410, 456, 410], # 250
633
+ [ # 23 Helvetica-Narrow-Oblique
634
+ 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
635
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
636
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
637
+ 0, 0, 228, 228, 291, 456, 456, 729, 547, 157, # 30
638
+ 273, 273, 319, 479, 228, 273, 228, 228, 456, 456, # 40
639
+ 456, 456, 456, 456, 456, 456, 456, 456, 228, 228, # 50
640
+ 479, 479, 479, 456, 832, 547, 547, 592, 592, 547, # 60
641
+ 501, 638, 592, 228, 410, 547, 456, 683, 592, 638, # 70
642
+ 547, 638, 592, 547, 501, 592, 547, 774, 547, 547, # 80
643
+ 501, 228, 228, 228, 385, 456, 273, 456, 456, 410, # 90
644
+ 456, 456, 228, 456, 456, 182, 182, 410, 182, 683, # 100
645
+ 456, 456, 456, 456, 273, 410, 228, 456, 410, 592, # 110
646
+ 410, 410, 410, 274, 213, 274, 479, 287, 558, 287, # 120
647
+ 182, 456, 273, 820, 456, 456, 273, 820, 547, 273, # 130
648
+ 820, 287, 501, 287, 287, 182, 182, 273, 273, 287, # 140
649
+ 456, 820, 273, 820, 410, 273, 774, 287, 410, 547, # 150
650
+ 228, 273, 456, 456, 456, 456, 213, 456, 273, 604, # 160
651
+ 303, 456, 479, 273, 604, 273, 273, 479, 273, 273, # 170
652
+ 273, 456, 440, 228, 273, 273, 299, 456, 684, 684, # 180
653
+ 684, 501, 547, 547, 547, 547, 547, 547, 820, 592, # 190
654
+ 547, 547, 547, 547, 228, 228, 228, 228, 592, 592, # 200
655
+ 638, 638, 638, 638, 638, 479, 638, 592, 592, 592, # 210
656
+ 592, 547, 547, 501, 456, 456, 456, 456, 456, 456, # 220
657
+ 729, 410, 456, 456, 456, 456, 228, 228, 228, 228, # 230
658
+ 456, 456, 456, 456, 456, 456, 456, 479, 501, 456, # 240
659
+ 456, 456, 456, 410, 456, 410], # 250
660
+ [ # 24 Helvetica-Narrow-Bold
661
+ 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
662
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
663
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
664
+ 0, 0, 228, 273, 389, 456, 456, 729, 592, 195, # 30
665
+ 273, 273, 319, 479, 228, 273, 228, 228, 456, 456, # 40
666
+ 456, 456, 456, 456, 456, 456, 456, 456, 273, 273, # 50
667
+ 479, 479, 479, 501, 800, 592, 592, 592, 592, 547, # 60
668
+ 501, 638, 592, 228, 456, 592, 501, 683, 592, 638, # 70
669
+ 547, 638, 592, 547, 501, 592, 547, 774, 547, 547, # 80
670
+ 501, 273, 228, 273, 479, 456, 273, 456, 501, 456, # 90
671
+ 501, 456, 273, 501, 501, 228, 228, 456, 228, 729, # 100
672
+ 501, 501, 501, 501, 319, 456, 273, 501, 456, 638, # 110
673
+ 456, 456, 410, 319, 230, 319, 479, 287, 558, 287, # 120
674
+ 228, 456, 410, 820, 456, 456, 273, 820, 547, 273, # 130
675
+ 820, 287, 501, 287, 287, 228, 228, 410, 410, 287, # 140
676
+ 456, 820, 273, 820, 456, 273, 774, 287, 410, 547, # 150
677
+ 228, 273, 456, 456, 456, 456, 230, 456, 273, 604, # 160
678
+ 303, 456, 479, 273, 604, 273, 273, 479, 273, 273, # 170
679
+ 273, 501, 456, 228, 273, 273, 299, 456, 684, 684, # 180
680
+ 684, 501, 592, 592, 592, 592, 592, 592, 820, 592, # 190
681
+ 547, 547, 547, 547, 228, 228, 228, 228, 592, 592, # 200
682
+ 638, 638, 638, 638, 638, 479, 638, 592, 592, 592, # 210
683
+ 592, 547, 547, 501, 456, 456, 456, 456, 456, 456, # 220
684
+ 729, 456, 456, 456, 456, 456, 228, 228, 228, 228, # 230
685
+ 501, 501, 501, 501, 501, 501, 501, 479, 501, 501, # 240
686
+ 501, 501, 501, 456, 501, 456], # 250
687
+ [ # 25 Helvetica-Narrow-BoldOblique
688
+ 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
689
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
690
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
691
+ 0, 0, 228, 273, 389, 456, 456, 729, 592, 195, # 30
692
+ 273, 273, 319, 479, 228, 273, 228, 228, 456, 456, # 40
693
+ 456, 456, 456, 456, 456, 456, 456, 456, 273, 273, # 50
694
+ 479, 479, 479, 501, 800, 592, 592, 592, 592, 547, # 60
695
+ 501, 638, 592, 228, 456, 592, 501, 683, 592, 638, # 70
696
+ 547, 638, 592, 547, 501, 592, 547, 774, 547, 547, # 80
697
+ 501, 273, 228, 273, 479, 456, 273, 456, 501, 456, # 90
698
+ 501, 456, 273, 501, 501, 228, 228, 456, 228, 729, # 100
699
+ 501, 501, 501, 501, 319, 456, 273, 501, 456, 638, # 110
700
+ 456, 456, 410, 319, 230, 319, 479, 287, 558, 287, # 120
701
+ 228, 456, 410, 820, 456, 456, 273, 820, 547, 273, # 130
702
+ 820, 287, 501, 287, 287, 228, 228, 410, 410, 287, # 140
703
+ 456, 820, 273, 820, 456, 273, 774, 287, 410, 547, # 150
704
+ 228, 273, 456, 456, 456, 456, 230, 456, 273, 604, # 160
705
+ 303, 456, 479, 273, 604, 273, 273, 479, 273, 273, # 170
706
+ 273, 501, 456, 228, 273, 273, 299, 456, 684, 684, # 180
707
+ 684, 501, 592, 592, 592, 592, 592, 592, 820, 592, # 190
708
+ 547, 547, 547, 547, 228, 228, 228, 228, 592, 592, # 200
709
+ 638, 638, 638, 638, 638, 479, 638, 592, 592, 592, # 210
710
+ 592, 547, 547, 501, 456, 456, 456, 456, 456, 456, # 220
711
+ 729, 456, 456, 456, 456, 456, 228, 228, 228, 228, # 230
712
+ 501, 501, 501, 501, 501, 501, 501, 479, 501, 501, # 240
713
+ 501, 501, 501, 456, 501, 456], # 250
714
+ [ # 26 NewCenturySchlbk-Roman
715
+ 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
716
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
717
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
718
+ 0, 0, 278, 296, 389, 556, 556, 833, 815, 204, # 30
719
+ 333, 333, 500, 606, 278, 333, 278, 278, 556, 556, # 40
720
+ 556, 556, 556, 556, 556, 556, 556, 556, 278, 278, # 50
721
+ 606, 606, 606, 444, 737, 722, 722, 722, 778, 722, # 60
722
+ 667, 778, 833, 407, 556, 778, 667, 944, 815, 778, # 70
723
+ 667, 778, 722, 630, 667, 815, 722, 981, 704, 704, # 80
724
+ 611, 333, 606, 333, 606, 500, 333, 556, 556, 444, # 90
725
+ 574, 500, 333, 537, 611, 315, 296, 593, 315, 889, # 100
726
+ 611, 500, 574, 556, 444, 463, 389, 611, 537, 778, # 110
727
+ 537, 537, 481, 333, 606, 333, 606, 606, 558, 606, # 120
728
+ 204, 556, 389, 1000, 500, 500, 333, 1000, 630, 259, # 130
729
+ 1000, 606, 611, 606, 606, 204, 204, 389, 389, 606, # 140
730
+ 556, 1000, 333, 1000, 463, 259, 833, 606, 481, 704, # 150
731
+ 278, 296, 556, 556, 556, 556, 606, 500, 333, 737, # 160
732
+ 334, 426, 606, 333, 737, 333, 333, 606, 333, 333, # 170
733
+ 333, 611, 606, 278, 333, 333, 300, 426, 834, 834, # 180
734
+ 834, 444, 722, 722, 722, 722, 722, 722, 1000, 722, # 190
735
+ 722, 722, 722, 722, 407, 407, 407, 407, 778, 815, # 200
736
+ 778, 778, 778, 778, 778, 606, 778, 815, 815, 815, # 210
737
+ 815, 704, 667, 574, 556, 556, 556, 556, 556, 556, # 220
738
+ 796, 444, 500, 500, 500, 500, 315, 315, 315, 315, # 230
739
+ 500, 611, 500, 500, 500, 500, 500, 606, 500, 611, # 240
740
+ 611, 611, 611, 537, 574, 537], # 250
741
+ [ # 27 NewCenturySchlbk-Italic
742
+ 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
743
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
744
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
745
+ 0, 0, 278, 333, 400, 556, 556, 833, 852, 278, # 30
746
+ 333, 333, 500, 606, 278, 333, 278, 606, 556, 556, # 40
747
+ 556, 556, 556, 556, 556, 556, 556, 556, 278, 278, # 50
748
+ 606, 606, 606, 444, 747, 704, 722, 722, 778, 722, # 60
749
+ 667, 778, 833, 407, 611, 741, 667, 944, 815, 778, # 70
750
+ 667, 778, 741, 667, 685, 815, 704, 926, 704, 685, # 80
751
+ 667, 333, 606, 333, 606, 500, 333, 574, 556, 444, # 90
752
+ 611, 444, 333, 537, 611, 333, 315, 556, 333, 889, # 100
753
+ 611, 500, 574, 556, 444, 444, 352, 611, 519, 778, # 110
754
+ 500, 500, 463, 333, 606, 333, 606, 606, 558, 606, # 120
755
+ 204, 556, 389, 1000, 500, 500, 333, 1000, 667, 333, # 130
756
+ 981, 606, 667, 606, 606, 204, 204, 389, 389, 606, # 140
757
+ 500, 1000, 333, 950, 444, 333, 778, 606, 463, 685, # 150
758
+ 278, 333, 556, 556, 556, 556, 606, 500, 333, 747, # 160
759
+ 422, 426, 606, 333, 747, 333, 333, 606, 333, 333, # 170
760
+ 333, 611, 650, 278, 333, 333, 372, 426, 834, 834, # 180
761
+ 834, 444, 704, 704, 704, 704, 704, 704, 870, 722, # 190
762
+ 722, 722, 722, 722, 407, 407, 407, 407, 778, 815, # 200
763
+ 778, 778, 778, 778, 778, 606, 778, 815, 815, 815, # 210
764
+ 815, 685, 667, 556, 574, 574, 574, 574, 574, 574, # 220
765
+ 722, 444, 444, 444, 444, 444, 333, 333, 333, 333, # 230
766
+ 500, 611, 500, 500, 500, 500, 500, 606, 500, 611, # 240
767
+ 611, 611, 611, 500, 574, 500], # 250
768
+ [ # 28 NewCenturySchlbk-Bold
769
+ 287, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
770
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
771
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
772
+ 0, 0, 287, 296, 333, 574, 574, 833, 852, 241, # 30
773
+ 389, 389, 500, 606, 278, 333, 278, 278, 574, 574, # 40
774
+ 574, 574, 574, 574, 574, 574, 574, 574, 278, 278, # 50
775
+ 606, 606, 606, 500, 747, 759, 778, 778, 833, 759, # 60
776
+ 722, 833, 870, 444, 648, 815, 722, 981, 833, 833, # 70
777
+ 759, 833, 815, 667, 722, 833, 759, 981, 722, 722, # 80
778
+ 667, 389, 606, 389, 606, 500, 333, 611, 648, 556, # 90
779
+ 667, 574, 389, 611, 685, 370, 352, 667, 352, 963, # 100
780
+ 685, 611, 667, 648, 519, 500, 426, 685, 611, 889, # 110
781
+ 611, 611, 537, 389, 606, 389, 606, 606, 558, 606, # 120
782
+ 241, 574, 481, 1000, 500, 500, 333, 1000, 667, 333, # 130
783
+ 1000, 606, 667, 606, 606, 241, 241, 481, 481, 606, # 140
784
+ 500, 1000, 333, 1000, 500, 333, 907, 606, 537, 722, # 150
785
+ 287, 296, 574, 574, 574, 574, 606, 500, 333, 747, # 160
786
+ 367, 500, 606, 333, 747, 333, 333, 606, 344, 344, # 170
787
+ 333, 685, 747, 278, 333, 344, 367, 500, 861, 861, # 180
788
+ 861, 500, 759, 759, 759, 759, 759, 759, 981, 778, # 190
789
+ 759, 759, 759, 759, 444, 444, 444, 444, 833, 833, # 200
790
+ 833, 833, 833, 833, 833, 606, 833, 833, 833, 833, # 210
791
+ 833, 722, 759, 611, 611, 611, 611, 611, 611, 611, # 220
792
+ 870, 556, 574, 574, 574, 574, 370, 370, 370, 370, # 230
793
+ 611, 685, 611, 611, 611, 611, 611, 606, 611, 685, # 240
794
+ 685, 685, 685, 611, 667, 611], # 250
795
+ [ # 29 NewCenturySchlbk-BoldItalic
796
+ 287, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
797
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
798
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
799
+ 0, 0, 287, 333, 400, 574, 574, 889, 889, 287, # 30
800
+ 407, 407, 500, 606, 287, 333, 287, 278, 574, 574, # 40
801
+ 574, 574, 574, 574, 574, 574, 574, 574, 287, 287, # 50
802
+ 606, 606, 606, 481, 747, 741, 759, 759, 833, 741, # 60
803
+ 704, 815, 870, 444, 667, 778, 704, 944, 852, 833, # 70
804
+ 741, 833, 796, 685, 722, 833, 741, 944, 741, 704, # 80
805
+ 704, 407, 606, 407, 606, 500, 333, 667, 611, 537, # 90
806
+ 667, 519, 389, 611, 685, 389, 370, 648, 389, 944, # 100
807
+ 685, 574, 648, 630, 519, 481, 407, 685, 556, 833, # 110
808
+ 574, 519, 519, 407, 606, 407, 606, 606, 558, 606, # 120
809
+ 259, 574, 481, 1000, 500, 500, 333, 1167, 685, 278, # 130
810
+ 963, 606, 704, 606, 606, 259, 259, 481, 481, 606, # 140
811
+ 500, 1000, 333, 950, 481, 278, 852, 606, 519, 704, # 150
812
+ 287, 333, 574, 574, 574, 574, 606, 500, 333, 747, # 160
813
+ 412, 481, 606, 333, 747, 333, 333, 606, 344, 344, # 170
814
+ 333, 685, 650, 287, 333, 344, 356, 481, 861, 861, # 180
815
+ 861, 481, 741, 741, 741, 741, 741, 741, 889, 759, # 190
816
+ 741, 741, 741, 741, 444, 444, 444, 444, 833, 852, # 200
817
+ 833, 833, 833, 833, 833, 606, 833, 833, 833, 833, # 210
818
+ 833, 704, 741, 574, 667, 667, 667, 667, 667, 667, # 220
819
+ 815, 537, 519, 519, 519, 519, 389, 389, 389, 389, # 230
820
+ 574, 685, 574, 574, 574, 574, 574, 606, 574, 685, # 240
821
+ 685, 685, 685, 519, 648, 519], # 250
822
+ [ # 30 Palatino-Roman
823
+ 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
824
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
825
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
826
+ 0, 0, 250, 278, 371, 500, 500, 840, 778, 208, # 30
827
+ 333, 333, 389, 606, 250, 333, 250, 606, 500, 500, # 40
828
+ 500, 500, 500, 500, 500, 500, 500, 500, 250, 250, # 50
829
+ 606, 606, 606, 444, 747, 778, 611, 709, 774, 611, # 60
830
+ 556, 763, 832, 337, 333, 726, 611, 946, 831, 786, # 70
831
+ 604, 786, 668, 525, 613, 778, 722, 1000, 667, 667, # 80
832
+ 667, 333, 606, 333, 606, 500, 333, 500, 553, 444, # 90
833
+ 611, 479, 333, 556, 582, 291, 234, 556, 291, 883, # 100
834
+ 582, 546, 601, 560, 395, 424, 326, 603, 565, 834, # 110
835
+ 516, 556, 500, 333, 606, 333, 606, 606, 558, 606, # 120
836
+ 278, 500, 500, 1000, 500, 500, 333, 1144, 525, 331, # 130
837
+ 998, 606, 667, 606, 606, 278, 278, 500, 500, 606, # 140
838
+ 500, 1000, 333, 979, 424, 331, 827, 606, 500, 667, # 150
839
+ 250, 278, 500, 500, 500, 500, 606, 500, 333, 747, # 160
840
+ 333, 500, 606, 333, 747, 333, 333, 606, 300, 300, # 170
841
+ 333, 603, 628, 250, 333, 300, 333, 500, 750, 750, # 180
842
+ 750, 444, 778, 778, 778, 778, 778, 778, 944, 709, # 190
843
+ 611, 611, 611, 611, 337, 337, 337, 337, 774, 831, # 200
844
+ 786, 786, 786, 786, 786, 606, 833, 778, 778, 778, # 210
845
+ 778, 667, 604, 556, 500, 500, 500, 500, 500, 500, # 220
846
+ 758, 444, 479, 479, 479, 479, 287, 287, 287, 287, # 230
847
+ 546, 582, 546, 546, 546, 546, 546, 606, 556, 603, # 240
848
+ 603, 603, 603, 556, 601, 556], # 250
849
+ [ # 31 Palatino-Italic
850
+ 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
851
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
852
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
853
+ 0, 0, 250, 333, 500, 500, 500, 889, 778, 333, # 30
854
+ 333, 333, 389, 606, 250, 333, 250, 296, 500, 500, # 40
855
+ 500, 500, 500, 500, 500, 500, 500, 500, 250, 250, # 50
856
+ 606, 606, 606, 500, 747, 722, 611, 667, 778, 611, # 60
857
+ 556, 722, 778, 333, 333, 667, 556, 944, 778, 778, # 70
858
+ 611, 778, 667, 556, 611, 778, 722, 944, 722, 667, # 80
859
+ 667, 333, 606, 333, 606, 500, 333, 444, 463, 407, # 90
860
+ 500, 389, 278, 500, 500, 278, 278, 444, 278, 778, # 100
861
+ 556, 444, 500, 463, 389, 389, 333, 556, 500, 722, # 110
862
+ 500, 500, 444, 333, 606, 333, 606, 500, 558, 500, # 120
863
+ 278, 500, 500, 1000, 500, 500, 333, 1000, 556, 333, # 130
864
+ 1028, 500, 667, 500, 500, 278, 278, 500, 500, 500, # 140
865
+ 500, 1000, 333, 1000, 389, 333, 669, 500, 444, 667, # 150
866
+ 250, 333, 500, 500, 500, 500, 606, 500, 333, 747, # 160
867
+ 333, 500, 606, 333, 747, 333, 333, 606, 300, 300, # 170
868
+ 333, 556, 500, 250, 333, 300, 333, 500, 750, 750, # 180
869
+ 750, 500, 722, 722, 722, 722, 722, 722, 941, 667, # 190
870
+ 611, 611, 611, 611, 333, 333, 333, 333, 778, 778, # 200
871
+ 778, 778, 778, 778, 778, 606, 778, 778, 778, 778, # 210
872
+ 778, 667, 611, 500, 444, 444, 444, 444, 444, 444, # 220
873
+ 638, 407, 389, 389, 389, 389, 278, 278, 278, 278, # 230
874
+ 444, 556, 444, 444, 444, 444, 444, 606, 444, 556, # 240
875
+ 556, 556, 556, 500, 500, 500], # 250
876
+ [ # 32 Palatino-Bold
877
+ 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
878
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
879
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
880
+ 0, 0, 250, 278, 402, 500, 500, 889, 833, 227, # 30
881
+ 333, 333, 444, 606, 250, 333, 250, 296, 500, 500, # 40
882
+ 500, 500, 500, 500, 500, 500, 500, 500, 250, 250, # 50
883
+ 606, 606, 606, 444, 747, 778, 667, 722, 833, 611, # 60
884
+ 556, 833, 833, 389, 389, 778, 611, 1000, 833, 833, # 70
885
+ 611, 833, 722, 611, 667, 778, 778, 1000, 667, 667, # 80
886
+ 667, 333, 606, 333, 606, 500, 333, 500, 611, 444, # 90
887
+ 611, 500, 389, 556, 611, 333, 333, 611, 333, 889, # 100
888
+ 611, 556, 611, 611, 389, 444, 333, 611, 556, 833, # 110
889
+ 500, 556, 500, 310, 606, 310, 606, 606, 558, 606, # 120
890
+ 333, 500, 500, 1000, 500, 500, 333, 1000, 611, 389, # 130
891
+ 1000, 606, 667, 606, 606, 278, 278, 500, 500, 606, # 140
892
+ 500, 1000, 333, 998, 444, 389, 833, 606, 500, 667, # 150
893
+ 250, 278, 500, 500, 500, 500, 606, 500, 333, 747, # 160
894
+ 438, 500, 606, 333, 747, 333, 333, 606, 300, 300, # 170
895
+ 333, 611, 641, 250, 333, 300, 488, 500, 750, 750, # 180
896
+ 750, 444, 778, 778, 778, 778, 778, 778, 1000, 722, # 190
897
+ 611, 611, 611, 611, 389, 389, 389, 389, 833, 833, # 200
898
+ 833, 833, 833, 833, 833, 606, 833, 778, 778, 778, # 210
899
+ 778, 667, 611, 611, 500, 500, 500, 500, 500, 500, # 220
900
+ 778, 444, 500, 500, 500, 500, 333, 333, 333, 333, # 230
901
+ 556, 611, 556, 556, 556, 556, 556, 606, 556, 611, # 240
902
+ 611, 611, 611, 556, 611, 556], # 250
903
+ [ # 33 Palatino-BoldItalic
904
+ 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
905
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
906
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
907
+ 0, 0, 250, 333, 500, 500, 500, 889, 833, 250, # 30
908
+ 333, 333, 444, 606, 250, 389, 250, 315, 500, 500, # 40
909
+ 500, 500, 500, 500, 500, 500, 500, 500, 250, 250, # 50
910
+ 606, 606, 606, 444, 833, 722, 667, 685, 778, 611, # 60
911
+ 556, 778, 778, 389, 389, 722, 611, 944, 778, 833, # 70
912
+ 667, 833, 722, 556, 611, 778, 667, 1000, 722, 611, # 80
913
+ 667, 333, 606, 333, 606, 500, 333, 556, 537, 444, # 90
914
+ 556, 444, 333, 500, 556, 333, 333, 556, 333, 833, # 100
915
+ 556, 556, 556, 537, 389, 444, 389, 556, 556, 833, # 110
916
+ 500, 556, 500, 333, 606, 333, 606, 606, 558, 606, # 120
917
+ 250, 500, 500, 1000, 556, 556, 333, 1000, 556, 333, # 130
918
+ 944, 606, 667, 606, 606, 278, 278, 500, 500, 606, # 140
919
+ 500, 1000, 333, 1000, 444, 333, 778, 606, 500, 611, # 150
920
+ 250, 333, 500, 500, 500, 500, 606, 556, 333, 747, # 160
921
+ 333, 500, 606, 389, 747, 333, 556, 606, 300, 300, # 170
922
+ 333, 556, 556, 250, 333, 300, 333, 500, 750, 750, # 180
923
+ 750, 444, 722, 722, 722, 722, 722, 722, 944, 685, # 190
924
+ 611, 611, 611, 611, 389, 389, 389, 389, 778, 778, # 200
925
+ 833, 833, 833, 833, 833, 606, 833, 778, 778, 778, # 210
926
+ 778, 611, 667, 556, 556, 556, 556, 556, 556, 556, # 220
927
+ 738, 444, 444, 444, 444, 444, 333, 333, 333, 333, # 230
928
+ 556, 556, 556, 556, 556, 556, 556, 606, 556, 556, # 240
929
+ 556, 556, 556, 556, 556, 556], # 250
930
+ [ # 34 ZapfChancery-MediumItalic
931
+ 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
932
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
933
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
934
+ 0, 0, 220, 280, 220, 440, 440, 680, 780, 160, # 30
935
+ 260, 220, 420, 520, 220, 280, 220, 340, 440, 440, # 40
936
+ 440, 440, 440, 440, 440, 440, 440, 440, 260, 240, # 50
937
+ 520, 520, 520, 380, 700, 620, 600, 520, 700, 620, # 60
938
+ 580, 620, 680, 380, 400, 660, 580, 840, 700, 600, # 70
939
+ 540, 600, 600, 460, 500, 740, 640, 880, 560, 560, # 80
940
+ 620, 240, 480, 320, 520, 500, 220, 420, 420, 340, # 90
941
+ 440, 340, 320, 400, 440, 240, 220, 440, 240, 620, # 100
942
+ 460, 400, 440, 400, 300, 320, 320, 460, 440, 680, # 110
943
+ 420, 400, 440, 240, 520, 240, 520, 600, 558, 600, # 120
944
+ 180, 440, 280, 1000, 460, 480, 340, 960, 460, 240, # 130
945
+ 820, 600, 620, 600, 600, 240, 240, 340, 360, 600, # 140
946
+ 500, 1000, 440, 1000, 320, 260, 560, 600, 440, 560, # 150
947
+ 220, 280, 440, 440, 440, 440, 520, 420, 360, 740, # 160
948
+ 260, 340, 520, 280, 740, 440, 300, 520, 264, 264, # 170
949
+ 300, 460, 500, 220, 300, 264, 260, 380, 660, 660, # 180
950
+ 660, 400, 620, 620, 620, 620, 620, 620, 740, 520, # 190
951
+ 620, 620, 620, 620, 380, 380, 380, 380, 700, 700, # 200
952
+ 600, 600, 600, 600, 600, 520, 660, 740, 740, 740, # 210
953
+ 740, 560, 540, 420, 420, 420, 420, 420, 420, 420, # 220
954
+ 540, 340, 340, 340, 340, 340, 240, 240, 240, 240, # 230
955
+ 400, 460, 400, 400, 400, 400, 400, 520, 440, 460, # 240
956
+ 460, 460, 460, 400, 440, 400], # 250
957
+ [ # 35 Helvetica-Condensed
958
+ 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
959
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
960
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
961
+ 0, 0, 250, 333, 250, 500, 500, 833, 667, 250, # 30
962
+ 333, 333, 500, 500, 250, 333, 250, 278, 500, 500, # 40
963
+ 500, 500, 500, 500, 500, 500, 500, 500, 250, 250, # 50
964
+ 500, 500, 500, 500, 800, 556, 556, 556, 611, 500, # 60
965
+ 444, 611, 611, 278, 444, 556, 500, 778, 611, 611, # 70
966
+ 556, 611, 611, 556, 500, 611, 556, 833, 556, 556, # 80
967
+ 500, 333, 250, 333, 500, 500, 333, 444, 500, 444, # 90
968
+ 500, 444, 278, 500, 500, 222, 222, 444, 222, 778, # 100
969
+ 500, 500, 500, 500, 333, 444, 278, 500, 444, 667, # 110
970
+ 444, 444, 389, 274, 250, 274, 500, 333, 558, 333, # 120
971
+ 222, 500, 389, 1000, 500, 500, 333, 1111, 556, 278, # 130
972
+ 833, 333, 500, 333, 333, 222, 222, 389, 389, 333, # 140
973
+ 500, 1000, 333, 750, 444, 278, 722, 333, 389, 556, # 150
974
+ 250, 333, 500, 500, 500, 500, 250, 500, 333, 800, # 160
975
+ 300, 500, 500, 333, 800, 333, 250, 500, 300, 300, # 170
976
+ 333, 500, 440, 250, 333, 300, 300, 500, 750, 750, # 180
977
+ 750, 500, 556, 556, 556, 556, 556, 556, 833, 556, # 190
978
+ 500, 500, 500, 500, 278, 278, 278, 278, 611, 611, # 200
979
+ 611, 611, 611, 611, 611, 500, 611, 611, 611, 611, # 210
980
+ 611, 556, 556, 500, 444, 444, 444, 444, 444, 444, # 220
981
+ 667, 444, 444, 444, 444, 444, 222, 222, 222, 222, # 230
982
+ 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, # 240
983
+ 500, 500, 500, 444, 500, 444], # 250
984
+ [ # 36 Helvetica-Condensed-Bold
985
+ 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
986
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
987
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
988
+ 0, 0, 250, 333, 333, 500, 500, 833, 667, 250, # 30
989
+ 333, 333, 500, 500, 333, 333, 333, 278, 500, 500, # 40
990
+ 500, 500, 500, 500, 500, 500, 500, 500, 278, 278, # 50
991
+ 500, 500, 500, 500, 833, 556, 556, 556, 611, 500, # 60
992
+ 500, 611, 611, 278, 444, 556, 500, 778, 611, 611, # 70
993
+ 556, 611, 611, 556, 500, 611, 556, 833, 556, 556, # 80
994
+ 500, 333, 250, 333, 500, 500, 333, 500, 500, 444, # 90
995
+ 500, 500, 278, 500, 500, 278, 278, 444, 278, 778, # 100
996
+ 500, 500, 500, 500, 333, 444, 278, 500, 444, 667, # 110
997
+ 444, 444, 389, 274, 250, 274, 500, 420, 558, 420, # 120
998
+ 278, 500, 500, 1000, 500, 500, 333, 1111, 556, 278, # 130
999
+ 833, 420, 500, 420, 420, 278, 278, 500, 500, 420, # 140
1000
+ 500, 1000, 333, 860, 444, 278, 722, 420, 389, 556, # 150
1001
+ 250, 333, 500, 500, 500, 500, 250, 500, 333, 830, # 160
1002
+ 300, 500, 500, 333, 830, 333, 333, 500, 300, 300, # 170
1003
+ 333, 500, 550, 333, 333, 300, 300, 500, 750, 750, # 180
1004
+ 750, 500, 556, 556, 556, 556, 556, 556, 778, 556, # 190
1005
+ 500, 500, 500, 500, 278, 278, 278, 278, 611, 611, # 200
1006
+ 611, 611, 611, 611, 611, 500, 611, 611, 611, 611, # 210
1007
+ 611, 556, 556, 500, 500, 500, 500, 500, 500, 500, # 220
1008
+ 722, 444, 500, 500, 500, 500, 278, 278, 278, 278, # 230
1009
+ 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, # 240
1010
+ 500, 500, 500, 444, 500, 444], # 250
1011
+ [ # 37 Helvetica-Condensed-Oblique
1012
+ 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
1013
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
1014
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
1015
+ 0, 0, 250, 333, 250, 500, 500, 833, 667, 250, # 30
1016
+ 333, 333, 500, 500, 250, 333, 250, 278, 500, 500, # 40
1017
+ 500, 500, 500, 500, 500, 500, 500, 500, 250, 250, # 50
1018
+ 500, 500, 500, 500, 800, 556, 556, 556, 611, 500, # 60
1019
+ 444, 611, 611, 278, 444, 556, 500, 778, 611, 611, # 70
1020
+ 556, 611, 611, 556, 500, 611, 556, 833, 556, 556, # 80
1021
+ 500, 333, 250, 333, 500, 500, 333, 444, 500, 444, # 90
1022
+ 500, 444, 278, 500, 500, 222, 222, 444, 222, 778, # 100
1023
+ 500, 500, 500, 500, 333, 444, 278, 500, 444, 667, # 110
1024
+ 444, 444, 389, 274, 250, 274, 500, 333, 558, 333, # 120
1025
+ 222, 500, 389, 1000, 500, 500, 333, 1111, 556, 278, # 130
1026
+ 833, 333, 500, 333, 333, 222, 222, 389, 389, 333, # 140
1027
+ 500, 1000, 333, 750, 444, 278, 722, 333, 389, 556, # 150
1028
+ 250, 333, 500, 500, 500, 500, 250, 500, 333, 800, # 160
1029
+ 300, 500, 500, 333, 800, 333, 250, 500, 300, 300, # 170
1030
+ 333, 500, 440, 250, 333, 300, 300, 500, 750, 750, # 180
1031
+ 750, 500, 556, 556, 556, 556, 556, 556, 833, 556, # 190
1032
+ 500, 500, 500, 500, 278, 278, 278, 278, 611, 611, # 200
1033
+ 611, 611, 611, 611, 611, 500, 611, 611, 611, 611, # 210
1034
+ 611, 556, 556, 500, 444, 444, 444, 444, 444, 444, # 220
1035
+ 667, 444, 444, 444, 444, 444, 222, 222, 222, 222, # 230
1036
+ 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, # 240
1037
+ 500, 500, 500, 444, 500, 444], # 250
1038
+ [ # 38 Helvetica-Condensed-BoldObl
1039
+ 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0
1040
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 10
1041
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 20
1042
+ 0, 0, 250, 333, 333, 500, 500, 833, 667, 250, # 30
1043
+ 333, 333, 500, 500, 333, 333, 333, 278, 500, 500, # 40
1044
+ 500, 500, 500, 500, 500, 500, 500, 500, 278, 278, # 50
1045
+ 500, 500, 500, 500, 833, 556, 556, 556, 611, 500, # 60
1046
+ 500, 611, 611, 278, 444, 556, 500, 778, 611, 611, # 70
1047
+ 556, 611, 611, 556, 500, 611, 556, 833, 556, 556, # 80
1048
+ 500, 333, 250, 333, 500, 500, 333, 500, 500, 444, # 90
1049
+ 500, 500, 278, 500, 500, 278, 278, 444, 278, 778, # 100
1050
+ 500, 500, 500, 500, 333, 444, 278, 500, 444, 667, # 110
1051
+ 444, 444, 389, 274, 250, 274, 500, 420, 558, 420, # 120
1052
+ 278, 500, 500, 1000, 500, 500, 333, 1111, 556, 278, # 130
1053
+ 833, 420, 500, 420, 420, 278, 278, 500, 500, 420, # 140
1054
+ 500, 1000, 333, 860, 444, 278, 722, 420, 389, 556, # 150
1055
+ 250, 333, 500, 500, 500, 500, 250, 500, 333, 830, # 160
1056
+ 300, 500, 500, 333, 830, 333, 333, 500, 300, 300, # 170
1057
+ 333, 500, 550, 333, 333, 300, 300, 500, 750, 750, # 180
1058
+ 750, 500, 556, 556, 556, 556, 556, 556, 778, 556, # 190
1059
+ 500, 500, 500, 500, 278, 278, 278, 278, 611, 611, # 200
1060
+ 611, 611, 611, 611, 611, 500, 611, 611, 611, 611, # 210
1061
+ 611, 556, 556, 500, 500, 500, 500, 500, 500, 500, # 220
1062
+ 722, 444, 500, 500, 500, 500, 278, 278, 278, 278, # 230
1063
+ 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, # 240
1064
+ 500, 500, 500, 444, 500, 444] # 250
1065
+ ]
1066
+
1067
+ FONT_ASCENDERS = [
1068
+ 718, 718, 718, 718, 683, 676, 683, 699, 629, 626,
1069
+ 629, 626, 718, 718, 740, 740, 740, 740, 725, 732,
1070
+ 717, 717, 718, 718, 718, 718, 737, 737, 737, 737,
1071
+ 726, 733, 720, 726, 714, 750, 750, 750, 750,
1072
+ # Japanese
1073
+ 875, # 41 HeiseiKakuGo-W5
1074
+ 857, # 42 HeiseiMin-W3
1075
+ # Korean
1076
+ 880, # 43 HYGoThic-Medium
1077
+ 880, # 44 HYSMyeongJo-Medium
1078
+ # Chinese Traditional
1079
+ 880, # 45 MHei-Medium
1080
+ 880, # 46 MSung-Light
1081
+ # Chinese Simplified
1082
+ 880 # 47 STSong-Light
1083
+ ]
1084
+
1085
+ FONT_CAP_HEIGHTS = [
1086
+ 718, 718, 718, 718, 662, 676, 653, 669,
1087
+ 562, 562, 562, 562, 718, 718, 740, 740,
1088
+ 740, 740, 681, 681, 681, 681, 718, 718,
1089
+ 718, 718, 722, 722, 722, 722, 692, 692,
1090
+ 681, 681, 708, 750, 750, 750, 750,
1091
+ # Japanese
1092
+ 718, # 41 HeiseiKakuGo-W5
1093
+ 718, # 42 HeiseiMin-W3
1094
+ # Korean
1095
+ 880, # 43 HYGoThic-Medium
1096
+ 880, # 44 HYSMyeongJo-Medium
1097
+ # Chinese Traditional
1098
+ 880, # 45 MHei-Medium
1099
+ 880, # 46 MSung-Light
1100
+ # Chinese Simplified
1101
+ 880 # 47 STSong-Light
1102
+ ]
1103
+
1104
+ FONT_DESCENDERS = [
1105
+ -207, -207, -207, -207, -217, -205, -205, -205,
1106
+ -157, -142, -157, -142, -207, -207, -192, -192,
1107
+ -185, -185, -212, -213, -228, -212, -207, -207,
1108
+ -207, -207, -205, -205, -205, -205, -281, -276,
1109
+ -258, -271, -314, -188, -189, -188, -189,
1110
+ # Japanese
1111
+ -125, # 41 HeiseiKakuGo-W5
1112
+ -143, # 42 HeiseiMin-W3
1113
+ # Korean
1114
+ -120, # 43 HYGoThic-Medium
1115
+ -120, # 44 HYSMyeongJo-Medium
1116
+ # Chinese Traditional
1117
+ -120, # 45 MHei-Medium
1118
+ -120, # 46 MSung-Light
1119
+ # Chinese Simplified
1120
+ -120 # 47 STSong-Light
1121
+ ]
1122
+
1123
+ FONT_FLAGS = [
1124
+ 32, # Helvetica
1125
+ 0, # Helvetica-Bold
1126
+ 96, # Helvetica-Oblique
1127
+ 0, # Helvetica-BoldOblique
1128
+ 0, # Times-Roman
1129
+ 0, # Times-Bold
1130
+ 0, # Times-Italic
1131
+ 0, # Times-BoldItalic
1132
+ 0, # Courier
1133
+ 0, # Courier-Bold
1134
+ 0, # Courier-Oblique
1135
+ 0, # Courier-BoldOblique
1136
+ 0, # Symbol
1137
+ 0, # ZapfDingbats
1138
+ # ------------- values above don't matter
1139
+ 32, # AvantGarde-Book
1140
+ 96, # AvantGarde-BookOblique
1141
+ 262176, # AvantGarde-Demi
1142
+ 262240, # AvantGarde-DemiOblique
1143
+ 262178, # Bookman-Demi
1144
+ 262242, # Bookman-DemiItalic
1145
+ 34, # Bookman-Light
1146
+ 98, # Bookman-LightItalic
1147
+ 32, # Helvetica-Narrow
1148
+ 96, # Helvetica-Narrow-Oblique
1149
+ 262176, # Helvetica-Narrow-Bold
1150
+ 262240, # Helvetica-Narrow-BoldOblique
1151
+ 34, # NewCenturySchlbk-Roman
1152
+ 98, # NewCenturySchlbk-Italic
1153
+ 262178, # NewCenturySchlbk-Bold
1154
+ 262242, # NewCenturySchlbk-BoldItalic
1155
+ 34, # Palatino-Roman
1156
+ 98, # Palatino-Italic
1157
+ 262178, # Palatino-Bold
1158
+ 262242, # Palatino-BoldItalic
1159
+ 98, # ZapfChancery-MediumItalic
1160
+ 32, # Helvetica-Condensed
1161
+ 262176, # Helvetica-Condensed-Bold
1162
+ 96, # Helvetica-Condensed-Oblique
1163
+ 262240, # Helvetica-Condensed-BoldObl
1164
+ # Japanese
1165
+ 4, # 41 HeiseiKakuGo-W5 (4)
1166
+ 6, # 42 HeiseiMin-W3 (6)
1167
+ # Korean
1168
+ 4, # 43 HYGoThic-Medium (39)
1169
+ 6, # 44 HYSMyeongJo-Medium
1170
+ # Chinese Traditional
1171
+ 4, # 45 MHei-Medium
1172
+ 6, # 46 MSung-Light
1173
+ # Chinese Simplified
1174
+ 6 # 47 STSong-Light
1175
+ ]
1176
+
1177
+ FONT_BBOXES = [
1178
+ [ -166, -225, 1000, 931 ],
1179
+ [ -170, -228, 1003, 962 ],
1180
+ [ -170, -225, 1116, 931 ],
1181
+ [ -174, -228, 1114, 962 ],
1182
+ [ -168, -218, 1000, 898 ],
1183
+ [ -168, -218, 1000, 935 ],
1184
+ [ -169, -217, 1010, 883 ],
1185
+ [ -200, -218, 996, 921 ],
1186
+ [ -28, -250, 628, 805 ],
1187
+ [ -113, -250, 749, 801 ],
1188
+ [ -28, -250, 742, 805 ],
1189
+ [ -56, -250, 868, 801 ],
1190
+ [ -180, -293, 1090, 1010 ], # Symbol
1191
+ [ -1, -143, 981, 820 ], # ZapfDingbats
1192
+ [ -113, -222, 1148, 955 ],
1193
+ [ -113, -222, 1279, 955 ],
1194
+ [ -123, -251, 1222, 1021 ],
1195
+ [ -123, -251, 1256, 1021 ],
1196
+ [ -194, -250, 1346, 934 ],
1197
+ [ -231, -250, 1333, 941 ],
1198
+ [ -188, -251, 1266, 908 ],
1199
+ [ -228, -250, 1269, 883 ],
1200
+ [ -136, -225, 820, 931 ],
1201
+ [ -139, -225, 915, 931 ],
1202
+ [ -139, -228, 822, 962 ],
1203
+ [ -143, -228, 913, 962 ],
1204
+ [ -195, -250, 1000, 965 ],
1205
+ [ -166, -250, 994, 958 ],
1206
+ [ -165, -250, 1000, 988 ],
1207
+ [ -205, -250, 1147, 991 ],
1208
+ [ -166, -283, 1021, 927 ],
1209
+ [ -170, -276, 1010, 918 ],
1210
+ [ -152, -266, 1000, 924 ],
1211
+ [ -170, -271, 1073, 926 ],
1212
+ [ -181, -314, 1065, 831 ],
1213
+ [ -174, -224, 1071, 990 ],
1214
+ [ -169, -228, 1091, 971 ],
1215
+ [ -174, -224, 1118, 990 ],
1216
+ [ -169, -228, 1141, 971 ],
1217
+ # Japanese
1218
+ [ -92, -250, 1010, 922 ], # 41 HeiseiKakuGo-W5 [-250, -125, 1000, 875]
1219
+ [ -123, -257, 1001, 910 ], # 42 HeiseiMin-W3 [-250, -143, 1000, 857 ]
1220
+ # Korean
1221
+ [ -6, -145, 1003, 880 ], # 43 HYGoThic-Medium [-150, -120, 1100, 880 ]
1222
+ [ 0, -148, 1001, 880 ], # 44 HYSMyeongJo-Medium [ -150, -120, 1100, 880]
1223
+ # Chinese Traditional
1224
+ [ -45, -250, 1015, 887 ], # 45 MHei-Medium
1225
+ [ -160, -249, 1015, 888 ], # 46 MSung-Light
1226
+ # Chinese Simplified
1227
+ [ -25, -254, 1000, 880 ] # 47 STSong-Light
1228
+ ]
1229
+
1230
+ FONT_ITALIC_ANGLES = [
1231
+ 0,
1232
+ 0,
1233
+ -12,
1234
+ -12,
1235
+ 0,
1236
+ 0,
1237
+ -15.5,
1238
+ -15,
1239
+ 0,
1240
+ 0,
1241
+ -12,
1242
+ -12,
1243
+ 0, # Symbol
1244
+ 0, # ZapfDingbats
1245
+ 0,
1246
+ -10.5,
1247
+ 0,
1248
+ -10.5,
1249
+ 0,
1250
+ -10,
1251
+ 0,
1252
+ -10,
1253
+ 0,
1254
+ -12,
1255
+ 0,
1256
+ -12,
1257
+ 0,
1258
+ -16,
1259
+ 0,
1260
+ -16,
1261
+ 0,
1262
+ -10,
1263
+ 0,
1264
+ -10,
1265
+ -14,
1266
+ 0,
1267
+ 0,
1268
+ -12,
1269
+ -12,
1270
+ # Japanese
1271
+ 0, # 41 HeiseiKakuGo-W5
1272
+ 0, # 42 HeiseiMin-W3
1273
+ # Korean
1274
+ 0, # 43 HYGoThic-Medium
1275
+ 0, # 44 HYSMyeongJo-Medium
1276
+ # Chinese Traditional
1277
+ 0, # 45 MHei-Medium
1278
+ 0, # 46 MSung-Light
1279
+ # Chinese Simplified
1280
+ 0 # 47 STSong-Light
1281
+ ]
1282
+
1283
+ # (Required) The width of vertical stems in characters.
1284
+ FONT_STEM_VS = [
1285
+ 0, # Helvetica
1286
+ 0, # Helvetica-Bold
1287
+ 0, # Helvetica-Oblique
1288
+ 0, # Helvetica-BoldOblique
1289
+ 0, # Times-Roman
1290
+ 0, # Times-Bold
1291
+ 0, # Times-Italic
1292
+ 0, # Times-BoldItalic
1293
+ 0, # Courier
1294
+ 0, # Courier-Bold
1295
+ 0, # Courier-Oblique
1296
+ 0, # Courier-BoldOblique
1297
+ 0, # Symbol
1298
+ 0, # ZapfDingbats
1299
+ # ------------- values above don't matter
1300
+ 70, # AvantGarde-Book
1301
+ 70, # AvantGarde-BookOblique
1302
+ 133, # AvantGarde-Demi
1303
+ 133, # AvantGarde-DemiOblique
1304
+ 167, # Bookman-Demi
1305
+ 172, # Bookman-DemiItalic
1306
+ 96, # Bookman-Light
1307
+ 96, # Bookman-LightItalic
1308
+ 88, # Helvetica-Narrow
1309
+ 88, # Helvetica-Narrow-Oblique
1310
+ 140, # Helvetica-Narrow-Bold
1311
+ 140, # Helvetica-Narrow-BoldOblique
1312
+ 92, # NewCenturySchlbk-Roman
1313
+ 80, # NewCenturySchlbk-Italic
1314
+ 154, # NewCenturySchlbk-Bold
1315
+ 150, # NewCenturySchlbk-BoldItalic
1316
+ 84, # Palatino-Roman
1317
+ 84, # Palatino-Italic
1318
+ 122, # Palatino-Bold
1319
+ 122, # Palatino-BoldItalic
1320
+ 70, # ZapfChancery-MediumItalic
1321
+ 79, # Helvetica-Condensed
1322
+ 130, # Helvetica-Condensed-Bold
1323
+ 79, # Helvetica-Condensed-Oblique
1324
+ 130, # Helvetica-Condensed-BoldObl
1325
+ # Japanese
1326
+ 93, # 41 HeiseiKakuGo-W5
1327
+ 93, # 42 HeiseiMin-W3
1328
+ # Korean
1329
+ 93, # 43 HYGoThic-Medium
1330
+ 93, # 44 HYSMyeongJo-Medium
1331
+ # Chinese Traditional
1332
+ 93, # 45 MHei-Medium
1333
+ 93, # 46 MSung-Light
1334
+ # Chinese Simplified
1335
+ 93 # 47 STSong-Light
1336
+ ]
1337
+
1338
+ FONT_X_HEIGHTS = [
1339
+ 523,
1340
+ 532,
1341
+ 523,
1342
+ 532,
1343
+ 450,
1344
+ 461,
1345
+ 441,
1346
+ 462,
1347
+ 426,
1348
+ 439,
1349
+ 426,
1350
+ 439,
1351
+ 0, # Symbol
1352
+ 0, # ZapfDingbats
1353
+ 547,
1354
+ 547,
1355
+ 555,
1356
+ 555,
1357
+ 502,
1358
+ 515,
1359
+ 484,
1360
+ 494,
1361
+ 523,
1362
+ 523,
1363
+ 532,
1364
+ 532,
1365
+ 464,
1366
+ 466,
1367
+ 475,
1368
+ 477,
1369
+ 469,
1370
+ 482,
1371
+ 471,
1372
+ 469,
1373
+ 438,
1374
+ 556,
1375
+ 564,
1376
+ 556,
1377
+ 564,
1378
+ # Japanese
1379
+ 500, # 41 HeiseiKakuGo-W5
1380
+ 500, # 42 HeiseiMin-W3
1381
+ # Korean
1382
+ 616, # 43 HYGoThic-Medium
1383
+ 616, # 44 HYSMyeongJo-Medium
1384
+ # Chinese Traditional
1385
+ 616, # 45 MHei-Medium
1386
+ 616, # 46 MSung-Light
1387
+ # Chinese Simplified
1388
+ 616 # 47 STSong-Light
1389
+ ]
1390
+
1391
+ # Stuff for CIDFontType2 only
1392
+
1393
+ FONT_MISSING_WIDTHS = [
1394
+ 0, # 0 Helvetica
1395
+ 0, # 1 Helvetica-Bold
1396
+ 0, # 2 Helvetica-Oblique
1397
+ 0, # 3 Helvetica-BoldOblique
1398
+ 0, # 4 Times-Roman
1399
+ 0, # 5 Times-Bold
1400
+ 0, # 6 Times-Italic
1401
+ 0, # 7 Times-BoldItalic
1402
+ 0, # 8 Courier
1403
+ 0, # 9 Courier-Bold
1404
+ 0, # 10 Courier-Oblique
1405
+ 0, # 11 Courier-BoldOblique
1406
+ 0, # 12 Symbol
1407
+ 0, # 13 ZapfDingbats
1408
+
1409
+ 0, # 14 AvantGarde-Book
1410
+ 0, # 15 AvantGarde-BookOblique
1411
+ 0, # 16 AvantGarde-Demi
1412
+ 0, # 17 AvantGarde-DemiOblique
1413
+ 0, # 18 Bookman-Demi
1414
+ 0, # 19 Bookman-DemiItalic
1415
+ 0, # 20 Bookman-Light
1416
+ 0, # 21 Bookman-LightItalic
1417
+ 0, # 22 Helvetica-Narrow
1418
+ 0, # 23 Helvetica-Narrow-Oblique
1419
+ 0, # 24 Helvetica-Narrow-Bold
1420
+ 0, # 25 Helvetica-Narrow-BoldOblique
1421
+ 0, # 26 NewCenturySchlbk-Roman
1422
+ 0, # 27 NewCenturySchlbk-Italic
1423
+ 0, # 28 NewCenturySchlbk-Bold
1424
+ 0, # 29 NewCenturySchlbk-BoldItalic
1425
+ 0, # 30 Palatino-Roman
1426
+ 0, # 31 Palatino-Italic
1427
+ 0, # 32 Palatino-Bold
1428
+ 0, # 33 Palatino-BoldItalic
1429
+ 0, # 34 ZapfChancery-MediumItalic
1430
+
1431
+ 0, # 35 Helvetica-Condensed
1432
+ 0, # 36 Helvetica-Condensed-Bold
1433
+ 0, # 37 Helvetica-Condensed-Oblique
1434
+ 0, # 38 Helvetica-Condensed-BoldObl
1435
+
1436
+ # Japanese
1437
+ 500, # 41 HeiseiKakuGo-W5
1438
+ 500, # 42 HeiseiMin-W3
1439
+ # Korean
1440
+ 500, # 43 HYGoThic-Medium
1441
+ 500, # 44 HYSMyeongJo-Medium
1442
+ # Chinese Traditional
1443
+ 500, # 45 MHei-Medium
1444
+ 500, # 46 MSung-Light
1445
+ # Chinese Simplified
1446
+ 500 # 47 STSong-Light
1447
+ ]
1448
+
1449
+ FONT_STEM_HS = [
1450
+ 0, # 0 Helvetica
1451
+ 0, # 1 Helvetica-Bold
1452
+ 0, # 2 Helvetica-Oblique
1453
+ 0, # 3 Helvetica-BoldOblique
1454
+ 0, # 4 Times-Roman
1455
+ 0, # 5 Times-Bold
1456
+ 0, # 6 Times-Italic
1457
+ 0, # 7 Times-BoldItalic
1458
+ 0, # 8 Courier
1459
+ 0, # 9 Courier-Bold
1460
+ 0, # 10 Courier-Oblique
1461
+ 0, # 11 Courier-BoldOblique
1462
+ 0, # 12 Symbol
1463
+ 0, # 13 ZapfDingbats
1464
+
1465
+ 0, # 14 AvantGarde-Book
1466
+ 0, # 15 AvantGarde-BookOblique
1467
+ 0, # 16 AvantGarde-Demi
1468
+ 0, # 17 AvantGarde-DemiOblique
1469
+ 0, # 18 Bookman-Demi
1470
+ 0, # 19 Bookman-DemiItalic
1471
+ 0, # 20 Bookman-Light
1472
+ 0, # 21 Bookman-LightItalic
1473
+ 0, # 22 Helvetica-Narrow
1474
+ 0, # 23 Helvetica-Narrow-Oblique
1475
+ 0, # 24 Helvetica-Narrow-Bold
1476
+ 0, # 25 Helvetica-Narrow-BoldOblique
1477
+ 0, # 26 NewCenturySchlbk-Roman
1478
+ 0, # 27 NewCenturySchlbk-Italic
1479
+ 0, # 28 NewCenturySchlbk-Bold
1480
+ 0, # 29 NewCenturySchlbk-BoldItalic
1481
+ 0, # 30 Palatino-Roman
1482
+ 0, # 31 Palatino-Italic
1483
+ 0, # 32 Palatino-Bold
1484
+ 0, # 33 Palatino-BoldItalic
1485
+ 0, # 34 ZapfChancery-MediumItalic
1486
+
1487
+ 0, # 35 Helvetica-Condensed
1488
+ 0, # 36 Helvetica-Condensed-Bold
1489
+ 0, # 37 Helvetica-Condensed-Oblique
1490
+ 0, # 38 Helvetica-Condensed-BoldObl
1491
+
1492
+ # Japanese
1493
+ 93, # 41 HeiseiKakuGo-W5
1494
+ 31, # 42 HeiseiMin-W3
1495
+ # Korean
1496
+ 93, # 43 HYGoThic-Medium
1497
+ 93, # 44 HYSMyeongJo-Medium
1498
+ # Chinese Traditional
1499
+ 93, # 45 MHei-Medium
1500
+ 93, # 46 MSung-Light
1501
+ # Chinese Simplified
1502
+ 93 # 47 STSong-Light
1503
+ ]
1504
+
1505
+ FONT_LEADINGS = [
1506
+ 0, # 0 Helvetica
1507
+ 0, # 1 Helvetica-Bold
1508
+ 0, # 2 Helvetica-Oblique
1509
+ 0, # 3 Helvetica-BoldOblique
1510
+ 0, # 4 Times-Roman
1511
+ 0, # 5 Times-Bold
1512
+ 0, # 6 Times-Italic
1513
+ 0, # 7 Times-BoldItalic
1514
+ 0, # 8 Courier
1515
+ 0, # 9 Courier-Bold
1516
+ 0, # 10 Courier-Oblique
1517
+ 0, # 11 Courier-BoldOblique
1518
+ 0, # 12 Symbol
1519
+ 0, # 13 ZapfDingbats
1520
+
1521
+ 0, # 14 AvantGarde-Book
1522
+ 0, # 15 AvantGarde-BookOblique
1523
+ 0, # 16 AvantGarde-Demi
1524
+ 0, # 17 AvantGarde-DemiOblique
1525
+ 0, # 18 Bookman-Demi
1526
+ 0, # 19 Bookman-DemiItalic
1527
+ 0, # 20 Bookman-Light
1528
+ 0, # 21 Bookman-LightItalic
1529
+ 0, # 22 Helvetica-Narrow
1530
+ 0, # 23 Helvetica-Narrow-Oblique
1531
+ 0, # 24 Helvetica-Narrow-Bold
1532
+ 0, # 25 Helvetica-Narrow-BoldOblique
1533
+ 0, # 26 NewCenturySchlbk-Roman
1534
+ 0, # 27 NewCenturySchlbk-Italic
1535
+ 0, # 28 NewCenturySchlbk-Bold
1536
+ 0, # 29 NewCenturySchlbk-BoldItalic
1537
+ 0, # 30 Palatino-Roman
1538
+ 0, # 31 Palatino-Italic
1539
+ 0, # 32 Palatino-Bold
1540
+ 0, # 33 Palatino-BoldItalic
1541
+ 0, # 34 ZapfChancery-MediumItalic
1542
+
1543
+ 0, # 35 Helvetica-Condensed
1544
+ 0, # 36 Helvetica-Condensed-Bold
1545
+ 0, # 37 Helvetica-Condensed-Oblique
1546
+ 0, # 38 Helvetica-Condensed-BoldObl
1547
+
1548
+ # Japanese
1549
+ 250, # 41 HeiseiKakuGo-W5
1550
+ 250, # 42 HeiseiMin-W3
1551
+ # Korean
1552
+ 250, # 43 HYGoThic-Medium
1553
+ 250, # 44 HYSMyeongJo-Medium
1554
+ # Chinese Traditional
1555
+ 250, # 45 MHei-Medium
1556
+ 250, # 46 MSung-Light
1557
+ # Chinese Simplified
1558
+ 250 # 47 STSong-Light
1559
+ ]
1560
+
1561
+ FONT_MAX_WIDTHS = [
1562
+ 0, # 0 Helvetica
1563
+ 0, # 1 Helvetica-Bold
1564
+ 0, # 2 Helvetica-Oblique
1565
+ 0, # 3 Helvetica-BoldOblique
1566
+ 0, # 4 Times-Roman
1567
+ 0, # 5 Times-Bold
1568
+ 0, # 6 Times-Italic
1569
+ 0, # 7 Times-BoldItalic
1570
+ 0, # 8 Courier
1571
+ 0, # 9 Courier-Bold
1572
+ 0, # 10 Courier-Oblique
1573
+ 0, # 11 Courier-BoldOblique
1574
+ 0, # 12 Symbol
1575
+ 0, # 13 ZapfDingbats
1576
+
1577
+ 0, # 14 AvantGarde-Book
1578
+ 0, # 15 AvantGarde-BookOblique
1579
+ 0, # 16 AvantGarde-Demi
1580
+ 0, # 17 AvantGarde-DemiOblique
1581
+ 0, # 18 Bookman-Demi
1582
+ 0, # 19 Bookman-DemiItalic
1583
+ 0, # 20 Bookman-Light
1584
+ 0, # 21 Bookman-LightItalic
1585
+ 0, # 22 Helvetica-Narrow
1586
+ 0, # 23 Helvetica-Narrow-Oblique
1587
+ 0, # 24 Helvetica-Narrow-Bold
1588
+ 0, # 25 Helvetica-Narrow-BoldOblique
1589
+ 0, # 26 NewCenturySchlbk-Roman
1590
+ 0, # 27 NewCenturySchlbk-Italic
1591
+ 0, # 28 NewCenturySchlbk-Bold
1592
+ 0, # 29 NewCenturySchlbk-BoldItalic
1593
+ 0, # 30 Palatino-Roman
1594
+ 0, # 31 Palatino-Italic
1595
+ 0, # 32 Palatino-Bold
1596
+ 0, # 33 Palatino-BoldItalic
1597
+ 0, # 34 ZapfChancery-MediumItalic
1598
+
1599
+ 0, # 35 Helvetica-Condensed
1600
+ 0, # 36 Helvetica-Condensed-Bold
1601
+ 0, # 37 Helvetica-Condensed-Oblique
1602
+ 0, # 38 Helvetica-Condensed-BoldObl
1603
+
1604
+ # Japanese
1605
+ 1000, # 41 HeiseiKakuGo-W5
1606
+ 1000, # 42 HeiseiMin-W3
1607
+ # Korean
1608
+ 1000, # 43 HYGoThic-Medium
1609
+ 1000, # 44 HYSMyeongJo-Medium
1610
+ # Chinese Traditional
1611
+ 1000, # 45 MHei-Medium
1612
+ 1000, # 46 MSung-Light
1613
+ # Chinese Simplified
1614
+ 1000 # 47 STSong-Light
1615
+ ]
1616
+
1617
+ FONT_AVG_WIDTHS = [
1618
+ 0, # 0 Helvetica
1619
+ 0, # 1 Helvetica-Bold
1620
+ 0, # 2 Helvetica-Oblique
1621
+ 0, # 3 Helvetica-BoldOblique
1622
+ 0, # 4 Times-Roman
1623
+ 0, # 5 Times-Bold
1624
+ 0, # 6 Times-Italic
1625
+ 0, # 7 Times-BoldItalic
1626
+ 0, # 8 Courier
1627
+ 0, # 9 Courier-Bold
1628
+ 0, # 10 Courier-Oblique
1629
+ 0, # 11 Courier-BoldOblique
1630
+ 0, # 12 Symbol
1631
+ 0, # 13 ZapfDingbats
1632
+
1633
+ 0, # 14 AvantGarde-Book
1634
+ 0, # 15 AvantGarde-BookOblique
1635
+ 0, # 16 AvantGarde-Demi
1636
+ 0, # 17 AvantGarde-DemiOblique
1637
+ 0, # 18 Bookman-Demi
1638
+ 0, # 19 Bookman-DemiItalic
1639
+ 0, # 20 Bookman-Light
1640
+ 0, # 21 Bookman-LightItalic
1641
+ 0, # 22 Helvetica-Narrow
1642
+ 0, # 23 Helvetica-Narrow-Oblique
1643
+ 0, # 24 Helvetica-Narrow-Bold
1644
+ 0, # 25 Helvetica-Narrow-BoldOblique
1645
+ 0, # 26 NewCenturySchlbk-Roman
1646
+ 0, # 27 NewCenturySchlbk-Italic
1647
+ 0, # 28 NewCenturySchlbk-Bold
1648
+ 0, # 29 NewCenturySchlbk-BoldItalic
1649
+ 0, # 30 Palatino-Roman
1650
+ 0, # 31 Palatino-Italic
1651
+ 0, # 32 Palatino-Bold
1652
+ 0, # 33 Palatino-BoldItalic
1653
+ 0, # 34 ZapfChancery-MediumItalic
1654
+
1655
+ 0, # 35 Helvetica-Condensed
1656
+ 0, # 36 Helvetica-Condensed-Bold
1657
+ 0, # 37 Helvetica-Condensed-Oblique
1658
+ 0, # 38 Helvetica-Condensed-BoldObl
1659
+
1660
+ # Japanese
1661
+ 689, # 41 HeiseiKakuGo-W5
1662
+ 702, # 42 HeiseiMin-W3
1663
+ # Korean
1664
+ 1000, # 43 HYGoThic-Medium
1665
+ 1000, # 44 HYSMyeongJo-Medium
1666
+ # Chinese Traditional
1667
+ 1000, # 45 MHei-Medium
1668
+ 1000, # 46 MSung-Light
1669
+ # Chinese Simplified
1670
+ 1000 # 47 STSong-Light
1671
+ ]
1672
+
1673
+ UNDERLINE_POSITION = -100
1674
+ UNDERLINE_THICKNESS = 50
1675
+
1676
+ # for /W array in /DescendantFonts spec
1677
+ CID_FONT_WIDTHS = [
1678
+ '', # 0 Helvetica
1679
+ '', # 1 Helvetica-Bold
1680
+ '', # 2 Helvetica-Oblique
1681
+ '', # 3 Helvetica-BoldOblique
1682
+ '', # 4 Times-Roman
1683
+ '', # 5 Times-Bold
1684
+ '', # 6 Times-Italic
1685
+ '', # 7 Times-BoldItalic
1686
+ '', # 8 Courier
1687
+ '', # 9 Courier-Bold
1688
+ '', # 10 Courier-Oblique
1689
+ '', # 11 Courier-BoldOblique
1690
+ '', # 12 Symbol
1691
+ '', # 13 ZapfDingbats
1692
+
1693
+ '', # 14 AvantGarde-Book
1694
+ '', # 15 AvantGarde-BookOblique
1695
+ '', # 16 AvantGarde-Demi
1696
+ '', # 17 AvantGarde-DemiOblique
1697
+ '', # 18 Bookman-Demi
1698
+ '', # 19 Bookman-DemiItalic
1699
+ '', # 20 Bookman-Light
1700
+ '', # 21 Bookman-LightItalic
1701
+ '', # 22 Helvetica-Narrow
1702
+ '', # 23 Helvetica-Narrow-Oblique
1703
+ '', # 24 Helvetica-Narrow-Bold
1704
+ '', # 25 Helvetica-Narrow-BoldOblique
1705
+ '', # 26 NewCenturySchlbk-Roman
1706
+ '', # 27 NewCenturySchlbk-Italic
1707
+ '', # 28 NewCenturySchlbk-Bold
1708
+ '', # 29 NewCenturySchlbk-BoldItalic
1709
+ '', # 30 Palatino-Roman
1710
+ '', # 31 Palatino-Italic
1711
+ '', # 32 Palatino-Bold
1712
+ '', # 33 Palatino-BoldItalic
1713
+ '', # 34 ZapfChancery-MediumItalic
1714
+
1715
+ '', # 35 Helvetica-Condensed
1716
+ '', # 36 Helvetica-Condensed-Bold
1717
+ '', # 37 Helvetica-Condensed-Oblique
1718
+ '', # 38 Helvetica-Condensed-BoldObl
1719
+ # Japanese
1720
+ '[ 1 95 500 231 632 500 ]', # 41 HeiseiKakuGo-W5 - OK
1721
+ '[ 1 95 500 231 632 500 ]', # 42 HeiseiMin-W3 - OK
1722
+ # Korean
1723
+ '[ 1 95 500 8094 8190 500 ]', # 43 HYGoThic-Medium - OK
1724
+ '[ 1 95 500 8094 8190 500 ]', # 44 HYSMyeongJo-Medium - OK
1725
+ # Chinese Traditional
1726
+ '[ 1 95 500 13648 13742 500 ]', # 45 MHei-Medium - OK
1727
+ '[ 1 95 500 13648 13742 500 ]', # 46 MSung-Light - OK
1728
+ # Chinese Simplified
1729
+ '[ 1 95 500 814 939 500 7712 [ 500 ] 7716 [ 500 ] ]' # 47 STSong-Light - OK
1730
+ ]
1731
+
1732
+ # for /CIDSystemInfo << >>
1733
+ CID_SYS_INFO = [
1734
+ '', # 0 Helvetica
1735
+ '', # 1 Helvetica-Bold
1736
+ '', # 2 Helvetica-Oblique
1737
+ '', # 3 Helvetica-BoldOblique
1738
+ '', # 4 Times-Roman
1739
+ '', # 5 Times-Bold
1740
+ '', # 6 Times-Italic
1741
+ '', # 7 Times-BoldItalic
1742
+ '', # 8 Courier
1743
+ '', # 9 Courier-Bold
1744
+ '', # 10 Courier-Oblique
1745
+ '', # 11 Courier-BoldOblique
1746
+ '', # 12 Symbol
1747
+ '', # 13 ZapfDingbats
1748
+
1749
+ '', # 14 AvantGarde-Book
1750
+ '', # 15 AvantGarde-BookOblique
1751
+ '', # 16 AvantGarde-Demi
1752
+ '', # 17 AvantGarde-DemiOblique
1753
+ '', # 18 Bookman-Demi
1754
+ '', # 19 Bookman-DemiItalic
1755
+ '', # 20 Bookman-Light
1756
+ '', # 21 Bookman-LightItalic
1757
+ '', # 22 Helvetica-Narrow
1758
+ '', # 23 Helvetica-Narrow-Oblique
1759
+ '', # 24 Helvetica-Narrow-Bold
1760
+ '', # 25 Helvetica-Narrow-BoldOblique
1761
+ '', # 26 NewCenturySchlbk-Roman
1762
+ '', # 27 NewCenturySchlbk-Italic
1763
+ '', # 28 NewCenturySchlbk-Bold
1764
+ '', # 29 NewCenturySchlbk-BoldItalic
1765
+ '', # 30 Palatino-Roman
1766
+ '', # 31 Palatino-Italic
1767
+ '', # 32 Palatino-Bold
1768
+ '', # 33 Palatino-BoldItalic
1769
+ '', # 34 ZapfChancery-MediumItalic
1770
+
1771
+ '', # 35 Helvetica-Condensed
1772
+ '', # 36 Helvetica-Condensed-Bold
1773
+ '', # 37 Helvetica-Condensed-Oblique
1774
+ '', # 38 Helvetica-Condensed-BoldObl
1775
+ # Japanese
1776
+ '/Registry (Adobe) /Ordering (Japan1) /Supplement 2', # 41 HeiseiKakuGo-W5
1777
+ '/Registry (Adobe) /Ordering (Japan1) /Supplement 2', # 42 HeiseiMin-W3
1778
+ # Korean
1779
+ '/Registry (Adobe) /Ordering (Korea1) /Supplement 1', # 43 HYGoThic-Medium
1780
+ '/Registry (Adobe) /Ordering (Korea1) /Supplement 1', # 44 HYSMyeongJo-Medium
1781
+ # Chinese Traditional
1782
+ '/Registry (Adobe) /Ordering (CNS1) /Supplement 0', # 45 MHei-Medium
1783
+ '/Registry (Adobe) /Ordering (CNS1) /Supplement 0', # 46 MSung-Light
1784
+ # Chinese Simplified
1785
+ '/Registry (Adobe) /Ordering (GB1) /Supplement 2' # 47 STSong-Light
1786
+ ]
1787
+
1788
+ # Currently contains only /Panose <....> for font descripter in CJK fonts
1789
+ FONT_STYLE_LIST = [
1790
+ '', # 0 Helvetica
1791
+ '', # 1 Helvetica-Bold
1792
+ '', # 2 Helvetica-Oblique
1793
+ '', # 3 Helvetica-BoldOblique
1794
+ '', # 4 Times-Roman
1795
+ '', # 5 Times-Bold
1796
+ '', # 6 Times-Italic
1797
+ '', # 7 Times-BoldItalic
1798
+ '', # 8 Courier
1799
+ '', # 9 Courier-Bold
1800
+ '', # 10 Courier-Oblique
1801
+ '', # 11 Courier-BoldOblique
1802
+ '', # 12 Symbol
1803
+ '', # 13 ZapfDingbats
1804
+
1805
+ '', # 14 AvantGarde-Book
1806
+ '', # 15 AvantGarde-BookOblique
1807
+ '', # 16 AvantGarde-Demi
1808
+ '', # 17 AvantGarde-DemiOblique
1809
+ '', # 18 Bookman-Demi
1810
+ '', # 19 Bookman-DemiItalic
1811
+ '', # 20 Bookman-Light
1812
+ '', # 21 Bookman-LightItalic
1813
+ '', # 22 Helvetica-Narrow
1814
+ '', # 23 Helvetica-Narrow-Oblique
1815
+ '', # 24 Helvetica-Narrow-Bold
1816
+ '', # 25 Helvetica-Narrow-BoldOblique
1817
+ '', # 26 NewCenturySchlbk-Roman
1818
+ '', # 27 NewCenturySchlbk-Italic
1819
+ '', # 28 NewCenturySchlbk-Bold
1820
+ '', # 29 NewCenturySchlbk-BoldItalic
1821
+ '', # 30 Palatino-Roman
1822
+ '', # 31 Palatino-Italic
1823
+ '', # 32 Palatino-Bold
1824
+ '', # 33 Palatino-BoldItalic
1825
+ '', # 34 ZapfChancery-MediumItalic
1826
+
1827
+ '', # 35 Helvetica-Condensed
1828
+ '', # 36 Helvetica-Condensed-Bold
1829
+ '', # 37 Helvetica-Condensed-Oblique
1830
+ '', # 38 Helvetica-Condensed-BoldObl
1831
+ # Panose will affect font substitution on platforms with native OS fonts,
1832
+ # and seems to override font names specifying the Acrobat Resource's CID fonts.
1833
+ # For example, on Windows 95-J, MSGothic and MSMincho will substitutes the fonts,
1834
+ # and if the /Panose below are reversed between HeiseiKakuGo and HeiseiMin,
1835
+ # the subsituted MS... fonts get reversed. }
1836
+ # Japanese
1837
+ '/Panose <0801020b0600000000000000>', # 41 HeiseiKakuGo-W5
1838
+ '/Panose <010502020400000000000000>', # 42 HeiseiMin-W3
1839
+ # Korean
1840
+ '/Panose <0801020b0600000000000000>', # 43 HYGoThic-Medium <010502020609000000000000>
1841
+ '/Panose <010502020400000000000000>', # 44 HYSMyeongJo-Medium
1842
+ # Chinese Traditional
1843
+ '/Panose <0801020b0600000000000000>', # 45 MHei-Medium
1844
+ '/Panose <010502020400000000000000>', # 46 MSung-Light
1845
+ # Chinese Simplified
1846
+ '/Panose <010502020400000000000000>' # 47 STSong-Light
1847
+ ]
1848
+
1849
+ GLYPHS = {
1850
+ 0x0041 => 'A',
1851
+ 0x00C6 => 'AE',
1852
+ 0x01FC => 'AEacute',
1853
+ 0xF7E6 => 'AEsmall',
1854
+ 0x00C1 => 'Aacute',
1855
+ 0xF7E1 => 'Aacutesmall',
1856
+ 0x0102 => 'Abreve',
1857
+ 0x00C2 => 'Acircumflex',
1858
+ 0xF7E2 => 'Acircumflexsmall',
1859
+ 0xF6C9 => 'Acute',
1860
+ 0xF7B4 => 'Acutesmall',
1861
+ 0x00C4 => 'Adieresis',
1862
+ 0xF7E4 => 'Adieresissmall',
1863
+ 0x00C0 => 'Agrave',
1864
+ 0xF7E0 => 'Agravesmall',
1865
+ 0x0391 => 'Alpha',
1866
+ 0x0386 => 'Alphatonos',
1867
+ 0x0100 => 'Amacron',
1868
+ 0x0104 => 'Aogonek',
1869
+ 0x00C5 => 'Aring',
1870
+ 0x01FA => 'Aringacute',
1871
+ 0xF7E5 => 'Aringsmall',
1872
+ 0xF761 => 'Asmall',
1873
+ 0x00C3 => 'Atilde',
1874
+ 0xF7E3 => 'Atildesmall',
1875
+ 0x0042 => 'B',
1876
+ 0x0392 => 'Beta',
1877
+ 0xF6F4 => 'Brevesmall',
1878
+ 0xF762 => 'Bsmall',
1879
+ 0x0043 => 'C',
1880
+ 0x0106 => 'Cacute',
1881
+ 0xF6CA => 'Caron',
1882
+ 0xF6F5 => 'Caronsmall',
1883
+ 0x010C => 'Ccaron',
1884
+ 0x00C7 => 'Ccedilla',
1885
+ 0xF7E7 => 'Ccedillasmall',
1886
+ 0x0108 => 'Ccircumflex',
1887
+ 0x010A => 'Cdotaccent',
1888
+ 0xF7B8 => 'Cedillasmall',
1889
+ 0x03A7 => 'Chi',
1890
+ 0xF6F6 => 'Circumflexsmall',
1891
+ 0xF763 => 'Csmall',
1892
+ 0x0044 => 'D',
1893
+ 0x010E => 'Dcaron',
1894
+ 0x0110 => 'Dcroat',
1895
+ 0x2206 => 'Delta',
1896
+ 0x0394 => 'Delta',
1897
+ 0xF6CB => 'Dieresis',
1898
+ 0xF6CC => 'DieresisAcute',
1899
+ 0xF6CD => 'DieresisGrave',
1900
+ 0xF7A8 => 'Dieresissmall',
1901
+ 0xF6F7 => 'Dotaccentsmall',
1902
+ 0xF764 => 'Dsmall',
1903
+ 0x0045 => 'E',
1904
+ 0x00C9 => 'Eacute',
1905
+ 0xF7E9 => 'Eacutesmall',
1906
+ 0x0114 => 'Ebreve',
1907
+ 0x011A => 'Ecaron',
1908
+ 0x00CA => 'Ecircumflex',
1909
+ 0xF7EA => 'Ecircumflexsmall',
1910
+ 0x00CB => 'Edieresis',
1911
+ 0xF7EB => 'Edieresissmall',
1912
+ 0x0116 => 'Edotaccent',
1913
+ 0x00C8 => 'Egrave',
1914
+ 0xF7E8 => 'Egravesmall',
1915
+ 0x0112 => 'Emacron',
1916
+ 0x014A => 'Eng',
1917
+ 0x0118 => 'Eogonek',
1918
+ 0x0395 => 'Epsilon',
1919
+ 0x0388 => 'Epsilontonos',
1920
+ 0xF765 => 'Esmall',
1921
+ 0x0397 => 'Eta',
1922
+ 0x0389 => 'Etatonos',
1923
+ 0x00D0 => 'Eth',
1924
+ 0xF7F0 => 'Ethsmall',
1925
+ 0x20AC => 'Euro',
1926
+ 0x0046 => 'F',
1927
+ 0xF766 => 'Fsmall',
1928
+ 0x0047 => 'G',
1929
+ 0x0393 => 'Gamma',
1930
+ 0x011E => 'Gbreve',
1931
+ 0x01E6 => 'Gcaron',
1932
+ 0x011C => 'Gcircumflex',
1933
+ 0x0122 => 'Gcommaaccent',
1934
+ 0x0120 => 'Gdotaccent',
1935
+ 0xF6CE => 'Grave',
1936
+ 0xF760 => 'Gravesmall',
1937
+ 0xF767 => 'Gsmall',
1938
+ 0x0048 => 'H',
1939
+ 0x25CF => 'H18533',
1940
+ 0x25AA => 'H18543',
1941
+ 0x25AB => 'H18551',
1942
+ 0x25A1 => 'H22073',
1943
+ 0x0126 => 'Hbar',
1944
+ 0x0124 => 'Hcircumflex',
1945
+ 0xF768 => 'Hsmall',
1946
+ 0xF6CF => 'Hungarumlaut',
1947
+ 0xF6F8 => 'Hungarumlautsmall',
1948
+ 0x0049 => 'I',
1949
+ 0x0132 => 'IJ',
1950
+ 0x00CD => 'Iacute',
1951
+ 0xF7ED => 'Iacutesmall',
1952
+ 0x012C => 'Ibreve',
1953
+ 0x00CE => 'Icircumflex',
1954
+ 0xF7EE => 'Icircumflexsmall',
1955
+ 0x00CF => 'Idieresis',
1956
+ 0xF7EF => 'Idieresissmall',
1957
+ 0x0130 => 'Idotaccent',
1958
+ 0x2111 => 'Ifraktur',
1959
+ 0x00CC => 'Igrave',
1960
+ 0xF7EC => 'Igravesmall',
1961
+ 0x012A => 'Imacron',
1962
+ 0x012E => 'Iogonek',
1963
+ 0x0399 => 'Iota',
1964
+ 0x03AA => 'Iotadieresis',
1965
+ 0x038A => 'Iotatonos',
1966
+ 0xF769 => 'Ismall',
1967
+ 0x0128 => 'Itilde',
1968
+ 0x004A => 'J',
1969
+ 0x0134 => 'Jcircumflex',
1970
+ 0xF76A => 'Jsmall',
1971
+ 0x004B => 'K',
1972
+ 0x039A => 'Kappa',
1973
+ 0x0136 => 'Kcommaaccent',
1974
+ 0xF76B => 'Ksmall',
1975
+ 0x004C => 'L',
1976
+ 0xF6BF => 'LL',
1977
+ 0x0139 => 'Lacute',
1978
+ 0x039B => 'Lambda',
1979
+ 0x013D => 'Lcaron',
1980
+ 0x013B => 'Lcommaaccent',
1981
+ 0x013F => 'Ldot',
1982
+ 0x0141 => 'Lslash',
1983
+ 0xF6F9 => 'Lslashsmall',
1984
+ 0xF76C => 'Lsmall',
1985
+ 0x004D => 'M',
1986
+ 0xF6D0 => 'Macron',
1987
+ 0xF7AF => 'Macronsmall',
1988
+ 0xF76D => 'Msmall',
1989
+ 0x039C => 'Mu',
1990
+ 0x004E => 'N',
1991
+ 0x0143 => 'Nacute',
1992
+ 0x0147 => 'Ncaron',
1993
+ 0x0145 => 'Ncommaaccent',
1994
+ 0xF76E => 'Nsmall',
1995
+ 0x00D1 => 'Ntilde',
1996
+ 0xF7F1 => 'Ntildesmall',
1997
+ 0x039D => 'Nu',
1998
+ 0x004F => 'O',
1999
+ 0x0152 => 'OE',
2000
+ 0xF6FA => 'OEsmall',
2001
+ 0x00D3 => 'Oacute',
2002
+ 0xF7F3 => 'Oacutesmall',
2003
+ 0x014E => 'Obreve',
2004
+ 0x00D4 => 'Ocircumflex',
2005
+ 0xF7F4 => 'Ocircumflexsmall',
2006
+ 0x00D6 => 'Odieresis',
2007
+ 0xF7F6 => 'Odieresissmall',
2008
+ 0xF6FB => 'Ogoneksmall',
2009
+ 0x00D2 => 'Ograve',
2010
+ 0xF7F2 => 'Ogravesmall',
2011
+ 0x01A0 => 'Ohorn',
2012
+ # 0x0150 => 'Ohungarumlaut',
2013
+ 0x014C => 'Omacron',
2014
+ 0x0150 => 'Otilde',
2015
+ 0x014C => 'Omacron',
2016
+ 0x2126 => 'Omega',
2017
+ 0x03A9 => 'Omega',
2018
+ 0x038F => 'Omegatonos',
2019
+ 0x039F => 'Omicron',
2020
+ 0x038C => 'Omicrontonos',
2021
+ 0x00D8 => 'Oslash',
2022
+ 0x01FE => 'Oslashacute',
2023
+ 0xF7F8 => 'Oslashsmall',
2024
+ 0xF76F => 'Osmall',
2025
+ 0x00D5 => 'Otilde',
2026
+ 0xF7F5 => 'Otildesmall',
2027
+ 0x0050 => 'P',
2028
+ 0x03A6 => 'Phi',
2029
+ 0x03A0 => 'Pi',
2030
+ 0x03A8 => 'Psi',
2031
+ 0xF770 => 'Psmall',
2032
+ 0x0051 => 'Q',
2033
+ 0xF771 => 'Qsmall',
2034
+ 0x0052 => 'R',
2035
+ 0x0154 => 'Racute',
2036
+ 0x0158 => 'Rcaron',
2037
+ 0x0156 => 'Rcommaaccent',
2038
+ 0x211C => 'Rfraktur',
2039
+ 0x03A1 => 'Rho',
2040
+ 0xF6FC => 'Ringsmall',
2041
+ 0xF772 => 'Rsmall',
2042
+ 0x0053 => 'S',
2043
+ 0x250C => 'SF010000',
2044
+ 0x2514 => 'SF020000',
2045
+ 0x2510 => 'SF030000',
2046
+ 0x2518 => 'SF040000',
2047
+ 0x253C => 'SF050000',
2048
+ 0x252C => 'SF060000',
2049
+ 0x2534 => 'SF070000',
2050
+ 0x251C => 'SF080000',
2051
+ 0x2524 => 'SF090000',
2052
+ 0x2500 => 'SF100000',
2053
+ 0x2502 => 'SF110000',
2054
+ 0x2561 => 'SF190000',
2055
+ 0x2562 => 'SF200000',
2056
+ 0x2556 => 'SF210000',
2057
+ 0x2555 => 'SF220000',
2058
+ 0x2563 => 'SF230000',
2059
+ 0x2551 => 'SF240000',
2060
+ 0x2557 => 'SF250000',
2061
+ 0x255D => 'SF260000',
2062
+ 0x255C => 'SF270000',
2063
+ 0x255B => 'SF280000',
2064
+ 0x255E => 'SF360000',
2065
+ 0x255F => 'SF370000',
2066
+ 0x255A => 'SF380000',
2067
+ 0x2554 => 'SF390000',
2068
+ 0x2569 => 'SF400000',
2069
+ 0x2566 => 'SF410000',
2070
+ 0x2560 => 'SF420000',
2071
+ 0x2550 => 'SF430000',
2072
+ 0x256C => 'SF440000',
2073
+ 0x2567 => 'SF450000',
2074
+ 0x2568 => 'SF460000',
2075
+ 0x2564 => 'SF470000',
2076
+ 0x2565 => 'SF480000',
2077
+ 0x2559 => 'SF490000',
2078
+ 0x2558 => 'SF500000',
2079
+ 0x2552 => 'SF510000',
2080
+ 0x2553 => 'SF520000',
2081
+ 0x256B => 'SF530000',
2082
+ 0x256A => 'SF540000',
2083
+ 0x015A => 'Sacute',
2084
+ 0x0160 => 'Scaron',
2085
+ 0xF6FD => 'Scaronsmall',
2086
+ 0x015E => 'Scedilla',
2087
+ 0xF6C1 => 'Scedilla',
2088
+ 0x015C => 'Scircumflex',
2089
+ 0x0218 => 'Scommaaccent',
2090
+ 0x03A3 => 'Sigma',
2091
+ 0xF773 => 'Ssmall',
2092
+ 0x0054 => 'T',
2093
+ 0x03A4 => 'Tau',
2094
+ 0x0166 => 'Tbar',
2095
+ 0x0164 => 'Tcaron',
2096
+ 0x0162 => 'Tcommaaccent',
2097
+ 0x021A => 'Tcommaaccent',
2098
+ 0x0398 => 'Theta',
2099
+ 0x00DE => 'Thorn',
2100
+ 0xF7FE => 'Thornsmall',
2101
+ 0xF6FE => 'Tildesmall',
2102
+ 0xF774 => 'Tsmall',
2103
+ 0x0055 => 'U',
2104
+ 0x00DA => 'Uacute',
2105
+ 0xF7FA => 'Uacutesmall',
2106
+ 0x016C => 'Ubreve',
2107
+ 0x00DB => 'Ucircumflex',
2108
+ 0xF7FB => 'Ucircumflexsmall',
2109
+ 0x00DC => 'Udieresis',
2110
+ 0xF7FC => 'Udieresissmall',
2111
+ 0x00D9 => 'Ugrave',
2112
+ 0xF7F9 => 'Ugravesmall',
2113
+ 0x01AF => 'Uhorn',
2114
+ # 0x0170 => 'Uhungarumlaut',
2115
+ 0x016A => 'Umacron',
2116
+ 0x0170 => 'Ucircumflex',
2117
+ 0x016A => 'Umacron',
2118
+ 0x0172 => 'Uogonek',
2119
+ 0x03A5 => 'Upsilon',
2120
+ 0x03D2 => 'Upsilon1',
2121
+ 0x03AB => 'Upsilondieresis',
2122
+ 0x038E => 'Upsilontonos',
2123
+ 0x016E => 'Uring',
2124
+ 0xF775 => 'Usmall',
2125
+ 0x0168 => 'Utilde',
2126
+ 0x0056 => 'V',
2127
+ 0xF776 => 'Vsmall',
2128
+ 0x0057 => 'W',
2129
+ 0x1E82 => 'Wacute',
2130
+ 0x0174 => 'Wcircumflex',
2131
+ 0x1E84 => 'Wdieresis',
2132
+ 0x1E80 => 'Wgrave',
2133
+ 0xF777 => 'Wsmall',
2134
+ 0x0058 => 'X',
2135
+ 0x039E => 'Xi',
2136
+ 0xF778 => 'Xsmall',
2137
+ 0x0059 => 'Y',
2138
+ 0x00DD => 'Yacute',
2139
+ 0xF7FD => 'Yacutesmall',
2140
+ 0x0176 => 'Ycircumflex',
2141
+ 0x0178 => 'Ydieresis',
2142
+ 0xF7FF => 'Ydieresissmall',
2143
+ 0x1EF2 => 'Ygrave',
2144
+ 0xF779 => 'Ysmall',
2145
+ 0x005A => 'Z',
2146
+ 0x0179 => 'Zacute',
2147
+ 0x017D => 'Zcaron',
2148
+ 0xF6FF => 'Zcaronsmall',
2149
+ 0x017B => 'Zdotaccent',
2150
+ 0x0396 => 'Zeta',
2151
+ 0xF77A => 'Zsmall',
2152
+ 0x0061 => 'a',
2153
+ 0x00E1 => 'aacute',
2154
+ 0x0103 => 'abreve',
2155
+ 0x00E2 => 'acircumflex',
2156
+ 0x00B4 => 'acute',
2157
+ 0x0301 => 'acutecomb',
2158
+ 0x00E4 => 'adieresis',
2159
+ 0x00E6 => 'ae',
2160
+ 0x01FD => 'aeacute',
2161
+ 0x2015 => 'afii00208',
2162
+ 0x0410 => 'afii10017',
2163
+ 0x0411 => 'afii10018',
2164
+ 0x0412 => 'afii10019',
2165
+ 0x0413 => 'afii10020',
2166
+ 0x0414 => 'afii10021',
2167
+ 0x0415 => 'afii10022',
2168
+ 0x0401 => 'afii10023',
2169
+ 0x0416 => 'afii10024',
2170
+ 0x0417 => 'afii10025',
2171
+ 0x0418 => 'afii10026',
2172
+ 0x0419 => 'afii10027',
2173
+ 0x041A => 'afii10028',
2174
+ 0x041B => 'afii10029',
2175
+ 0x041C => 'afii10030',
2176
+ 0x041D => 'afii10031',
2177
+ 0x041E => 'afii10032',
2178
+ 0x041F => 'afii10033',
2179
+ 0x0420 => 'afii10034',
2180
+ 0x0421 => 'afii10035',
2181
+ 0x0422 => 'afii10036',
2182
+ 0x0423 => 'afii10037',
2183
+ 0x0424 => 'afii10038',
2184
+ 0x0425 => 'afii10039',
2185
+ 0x0426 => 'afii10040',
2186
+ 0x0427 => 'afii10041',
2187
+ 0x0428 => 'afii10042',
2188
+ 0x0429 => 'afii10043',
2189
+ 0x042A => 'afii10044',
2190
+ 0x042B => 'afii10045',
2191
+ 0x042C => 'afii10046',
2192
+ 0x042D => 'afii10047',
2193
+ 0x042E => 'afii10048',
2194
+ 0x042F => 'afii10049',
2195
+ 0x0490 => 'afii10050',
2196
+ 0x0402 => 'afii10051',
2197
+ 0x0403 => 'afii10052',
2198
+ 0x0404 => 'afii10053',
2199
+ 0x0405 => 'afii10054',
2200
+ 0x0406 => 'afii10055',
2201
+ 0x0407 => 'afii10056',
2202
+ 0x0408 => 'afii10057',
2203
+ 0x0409 => 'afii10058',
2204
+ 0x040A => 'afii10059',
2205
+ 0x040B => 'afii10060',
2206
+ 0x040C => 'afii10061',
2207
+ 0x040E => 'afii10062',
2208
+ 0xF6C4 => 'afii10063',
2209
+ 0xF6C5 => 'afii10064',
2210
+ 0x0430 => 'afii10065',
2211
+ 0x0431 => 'afii10066',
2212
+ 0x0432 => 'afii10067',
2213
+ 0x0433 => 'afii10068',
2214
+ 0x0434 => 'afii10069',
2215
+ 0x0435 => 'afii10070',
2216
+ 0x0451 => 'afii10071',
2217
+ 0x0436 => 'afii10072',
2218
+ 0x0437 => 'afii10073',
2219
+ 0x0438 => 'afii10074',
2220
+ 0x0439 => 'afii10075',
2221
+ 0x043A => 'afii10076',
2222
+ 0x043B => 'afii10077',
2223
+ 0x043C => 'afii10078',
2224
+ 0x043D => 'afii10079',
2225
+ 0x043E => 'afii10080',
2226
+ 0x043F => 'afii10081',
2227
+ 0x0440 => 'afii10082',
2228
+ 0x0441 => 'afii10083',
2229
+ 0x0442 => 'afii10084',
2230
+ 0x0443 => 'afii10085',
2231
+ 0x0444 => 'afii10086',
2232
+ 0x0445 => 'afii10087',
2233
+ 0x0446 => 'afii10088',
2234
+ 0x0447 => 'afii10089',
2235
+ 0x0448 => 'afii10090',
2236
+ 0x0449 => 'afii10091',
2237
+ 0x044A => 'afii10092',
2238
+ 0x044B => 'afii10093',
2239
+ 0x044C => 'afii10094',
2240
+ 0x044D => 'afii10095',
2241
+ 0x044E => 'afii10096',
2242
+ 0x044F => 'afii10097',
2243
+ 0x0491 => 'afii10098',
2244
+ 0x0452 => 'afii10099',
2245
+ 0x0453 => 'afii10100',
2246
+ 0x0454 => 'afii10101',
2247
+ 0x0455 => 'afii10102',
2248
+ 0x0456 => 'afii10103',
2249
+ 0x0457 => 'afii10104',
2250
+ 0x0458 => 'afii10105',
2251
+ 0x0459 => 'afii10106',
2252
+ 0x045A => 'afii10107',
2253
+ 0x045B => 'afii10108',
2254
+ 0x045C => 'afii10109',
2255
+ 0x045E => 'afii10110',
2256
+ 0x040F => 'afii10145',
2257
+ 0x0462 => 'afii10146',
2258
+ 0x0472 => 'afii10147',
2259
+ 0x0474 => 'afii10148',
2260
+ 0xF6C6 => 'afii10192',
2261
+ 0x045F => 'afii10193',
2262
+ 0x0463 => 'afii10194',
2263
+ 0x0473 => 'afii10195',
2264
+ 0x0475 => 'afii10196',
2265
+ 0xF6C7 => 'afii10831',
2266
+ 0xF6C8 => 'afii10832',
2267
+ 0x04D9 => 'afii10846',
2268
+ 0x200E => 'afii299',
2269
+ 0x200F => 'afii300',
2270
+ 0x200D => 'afii301',
2271
+ 0x066A => 'afii57381',
2272
+ 0x060C => 'afii57388',
2273
+ 0x0660 => 'afii57392',
2274
+ 0x0661 => 'afii57393',
2275
+ 0x0662 => 'afii57394',
2276
+ 0x0663 => 'afii57395',
2277
+ 0x0664 => 'afii57396',
2278
+ 0x0665 => 'afii57397',
2279
+ 0x0666 => 'afii57398',
2280
+ 0x0667 => 'afii57399',
2281
+ 0x0668 => 'afii57400',
2282
+ 0x0669 => 'afii57401',
2283
+ 0x061B => 'afii57403',
2284
+ 0x061F => 'afii57407',
2285
+ 0x0621 => 'afii57409',
2286
+ 0x0622 => 'afii57410',
2287
+ 0x0623 => 'afii57411',
2288
+ 0x0624 => 'afii57412',
2289
+ 0x0625 => 'afii57413',
2290
+ 0x0626 => 'afii57414',
2291
+ 0x0627 => 'afii57415',
2292
+ 0x0628 => 'afii57416',
2293
+ 0x0629 => 'afii57417',
2294
+ 0x062A => 'afii57418',
2295
+ 0x062B => 'afii57419',
2296
+ 0x062C => 'afii57420',
2297
+ 0x062D => 'afii57421',
2298
+ 0x062E => 'afii57422',
2299
+ 0x062F => 'afii57423',
2300
+ 0x0630 => 'afii57424',
2301
+ 0x0631 => 'afii57425',
2302
+ 0x0632 => 'afii57426',
2303
+ 0x0633 => 'afii57427',
2304
+ 0x0634 => 'afii57428',
2305
+ 0x0635 => 'afii57429',
2306
+ 0x0636 => 'afii57430',
2307
+ 0x0637 => 'afii57431',
2308
+ 0x0638 => 'afii57432',
2309
+ 0x0639 => 'afii57433',
2310
+ 0x063A => 'afii57434',
2311
+ 0x0640 => 'afii57440',
2312
+ 0x0641 => 'afii57441',
2313
+ 0x0642 => 'afii57442',
2314
+ 0x0643 => 'afii57443',
2315
+ 0x0644 => 'afii57444',
2316
+ 0x0645 => 'afii57445',
2317
+ 0x0646 => 'afii57446',
2318
+ 0x0648 => 'afii57448',
2319
+ 0x0649 => 'afii57449',
2320
+ 0x064A => 'afii57450',
2321
+ 0x064B => 'afii57451',
2322
+ 0x064C => 'afii57452',
2323
+ 0x064D => 'afii57453',
2324
+ 0x064E => 'afii57454',
2325
+ 0x064F => 'afii57455',
2326
+ 0x0650 => 'afii57456',
2327
+ 0x0651 => 'afii57457',
2328
+ 0x0652 => 'afii57458',
2329
+ 0x0647 => 'afii57470',
2330
+ 0x06A4 => 'afii57505',
2331
+ 0x067E => 'afii57506',
2332
+ 0x0686 => 'afii57507',
2333
+ 0x0698 => 'afii57508',
2334
+ 0x06AF => 'afii57509',
2335
+ 0x0679 => 'afii57511',
2336
+ 0x0688 => 'afii57512',
2337
+ 0x0691 => 'afii57513',
2338
+ 0x06BA => 'afii57514',
2339
+ 0x06D2 => 'afii57519',
2340
+ 0x06D5 => 'afii57534',
2341
+ 0x20AA => 'afii57636',
2342
+ 0x05BE => 'afii57645',
2343
+ 0x05C3 => 'afii57658',
2344
+ 0x05D0 => 'afii57664',
2345
+ 0x05D1 => 'afii57665',
2346
+ 0x05D2 => 'afii57666',
2347
+ 0x05D3 => 'afii57667',
2348
+ 0x05D4 => 'afii57668',
2349
+ 0x05D5 => 'afii57669',
2350
+ 0x05D6 => 'afii57670',
2351
+ 0x05D7 => 'afii57671',
2352
+ 0x05D8 => 'afii57672',
2353
+ 0x05D9 => 'afii57673',
2354
+ 0x05DA => 'afii57674',
2355
+ 0x05DB => 'afii57675',
2356
+ 0x05DC => 'afii57676',
2357
+ 0x05DD => 'afii57677',
2358
+ 0x05DE => 'afii57678',
2359
+ 0x05DF => 'afii57679',
2360
+ 0x05E0 => 'afii57680',
2361
+ 0x05E1 => 'afii57681',
2362
+ 0x05E2 => 'afii57682',
2363
+ 0x05E3 => 'afii57683',
2364
+ 0x05E4 => 'afii57684',
2365
+ 0x05E5 => 'afii57685',
2366
+ 0x05E6 => 'afii57686',
2367
+ 0x05E7 => 'afii57687',
2368
+ 0x05E8 => 'afii57688',
2369
+ 0x05E9 => 'afii57689',
2370
+ 0x05EA => 'afii57690',
2371
+ 0xFB2A => 'afii57694',
2372
+ 0xFB2B => 'afii57695',
2373
+ 0xFB4B => 'afii57700',
2374
+ 0xFB1F => 'afii57705',
2375
+ 0x05F0 => 'afii57716',
2376
+ 0x05F1 => 'afii57717',
2377
+ 0x05F2 => 'afii57718',
2378
+ 0xFB35 => 'afii57723',
2379
+ 0x05B4 => 'afii57793',
2380
+ 0x05B5 => 'afii57794',
2381
+ 0x05B6 => 'afii57795',
2382
+ 0x05BB => 'afii57796',
2383
+ 0x05B8 => 'afii57797',
2384
+ 0x05B7 => 'afii57798',
2385
+ 0x05B0 => 'afii57799',
2386
+ 0x05B2 => 'afii57800',
2387
+ 0x05B1 => 'afii57801',
2388
+ 0x05B3 => 'afii57802',
2389
+ 0x05C2 => 'afii57803',
2390
+ 0x05C1 => 'afii57804',
2391
+ 0x05B9 => 'afii57806',
2392
+ 0x05BC => 'afii57807',
2393
+ 0x05BD => 'afii57839',
2394
+ 0x05BF => 'afii57841',
2395
+ 0x05C0 => 'afii57842',
2396
+ 0x02BC => 'afii57929',
2397
+ 0x2105 => 'afii61248',
2398
+ 0x2113 => 'afii61289',
2399
+ 0x2116 => 'afii61352',
2400
+ 0x202C => 'afii61573',
2401
+ 0x202D => 'afii61574',
2402
+ 0x202E => 'afii61575',
2403
+ 0x200C => 'afii61664',
2404
+ 0x066D => 'afii63167',
2405
+ 0x02BD => 'afii64937',
2406
+ 0x00E0 => 'agrave',
2407
+ 0x2135 => 'aleph',
2408
+ 0x03B1 => 'alpha',
2409
+ 0x03AC => 'alphatonos',
2410
+ 0x0101 => 'amacron',
2411
+ 0x0026 => 'ampersand',
2412
+ 0xF726 => 'ampersandsmall',
2413
+ 0x2220 => 'angle',
2414
+ 0x2329 => 'angleleft',
2415
+ 0x232A => 'angleright',
2416
+ 0x0387 => 'anoteleia',
2417
+ 0x0105 => 'aogonek',
2418
+ 0x2248 => 'approxequal',
2419
+ 0x00E5 => 'aring',
2420
+ 0x01FB => 'aringacute',
2421
+ 0x2194 => 'arrowboth',
2422
+ 0x21D4 => 'arrowdblboth',
2423
+ 0x21D3 => 'arrowdbldown',
2424
+ 0x21D0 => 'arrowdblleft',
2425
+ 0x21D2 => 'arrowdblright',
2426
+ 0x21D1 => 'arrowdblup',
2427
+ 0x2193 => 'arrowdown',
2428
+ 0xF8E7 => 'arrowhorizex',
2429
+ 0x2190 => 'arrowleft',
2430
+ 0x2192 => 'arrowright',
2431
+ 0x2191 => 'arrowup',
2432
+ 0x2195 => 'arrowupdn',
2433
+ 0x21A8 => 'arrowupdnbse',
2434
+ 0xF8E6 => 'arrowvertex',
2435
+ 0x005E => 'asciicircum',
2436
+ 0x007E => 'asciitilde',
2437
+ 0x002A => 'asterisk',
2438
+ 0x2217 => 'asteriskmath',
2439
+ 0xF6E9 => 'asuperior',
2440
+ 0x0040 => 'at',
2441
+ 0x00E3 => 'atilde',
2442
+ 0x0062 => 'b',
2443
+ 0x005C => 'backslash',
2444
+ 0x007C => 'bar',
2445
+ 0x03B2 => 'beta',
2446
+ 0x2588 => 'block',
2447
+ 0xF8F4 => 'braceex',
2448
+ 0x007B => 'braceleft',
2449
+ 0xF8F3 => 'braceleftbt',
2450
+ 0xF8F2 => 'braceleftmid',
2451
+ 0xF8F1 => 'bracelefttp',
2452
+ 0x007D => 'braceright',
2453
+ 0xF8FE => 'bracerightbt',
2454
+ 0xF8FD => 'bracerightmid',
2455
+ 0xF8FC => 'bracerighttp',
2456
+ 0x005B => 'bracketleft',
2457
+ 0xF8F0 => 'bracketleftbt',
2458
+ 0xF8EF => 'bracketleftex',
2459
+ 0xF8EE => 'bracketlefttp',
2460
+ 0x005D => 'bracketright',
2461
+ 0xF8FB => 'bracketrightbt',
2462
+ 0xF8FA => 'bracketrightex',
2463
+ 0xF8F9 => 'bracketrighttp',
2464
+ 0x02D8 => 'breve',
2465
+ 0x00A6 => 'brokenbar',
2466
+ 0xF6EA => 'bsuperior',
2467
+ 0x2022 => 'bullet',
2468
+ 0x0063 => 'c',
2469
+ 0x0107 => 'cacute',
2470
+ 0x02C7 => 'caron',
2471
+ 0x21B5 => 'carriagereturn',
2472
+ 0x010D => 'ccaron',
2473
+ 0x00E7 => 'ccedilla',
2474
+ 0x0109 => 'ccircumflex',
2475
+ 0x010B => 'cdotaccent',
2476
+ 0x00B8 => 'cedilla',
2477
+ 0x00A2 => 'cent',
2478
+ 0xF6DF => 'centinferior',
2479
+ 0xF7A2 => 'centoldstyle',
2480
+ 0xF6E0 => 'centsuperior',
2481
+ 0x03C7 => 'chi',
2482
+ 0x25CB => 'circle',
2483
+ 0x2297 => 'circlemultiply',
2484
+ 0x2295 => 'circleplus',
2485
+ 0x02C6 => 'circumflex',
2486
+ 0x2663 => 'club',
2487
+ 0x003A => 'colon',
2488
+ 0x20A1 => 'colonmonetary',
2489
+ 0x002C => 'comma',
2490
+ 0xF6C3 => 'commaaccent',
2491
+ 0xF6E1 => 'commainferior',
2492
+ 0xF6E2 => 'commasuperior',
2493
+ 0x2245 => 'congruent',
2494
+ 0x00A9 => 'copyright',
2495
+ 0xF8E9 => 'copyrightsans',
2496
+ 0xF6D9 => 'copyrightserif',
2497
+ 0x00A4 => 'currency',
2498
+ 0xF6D1 => 'cyrBreve',
2499
+ 0xF6D2 => 'cyrFlex',
2500
+ 0xF6D4 => 'cyrbreve',
2501
+ 0xF6D5 => 'cyrflex',
2502
+ 0x0064 => 'd',
2503
+ 0x2020 => 'dagger',
2504
+ 0x2021 => 'daggerdbl',
2505
+ 0xF6D3 => 'dblGrave',
2506
+ 0xF6D6 => 'dblgrave',
2507
+ 0x010F => 'dcaron',
2508
+ 0x0111 => 'dcroat',
2509
+ 0x00B0 => 'degree',
2510
+ 0x03B4 => 'delta',
2511
+ 0x2666 => 'diamond',
2512
+ 0x00A8 => 'dieresis',
2513
+ 0xF6D7 => 'dieresisacute',
2514
+ 0xF6D8 => 'dieresisgrave',
2515
+ 0x0385 => 'dieresistonos',
2516
+ 0x00F7 => 'divide',
2517
+ 0x2593 => 'dkshade',
2518
+ 0x2584 => 'dnblock',
2519
+ 0x0024 => 'dollar',
2520
+ 0xF6E3 => 'dollarinferior',
2521
+ 0xF724 => 'dollaroldstyle',
2522
+ 0xF6E4 => 'dollarsuperior',
2523
+ 0x20AB => 'dong',
2524
+ 0x02D9 => 'dotaccent',
2525
+ 0x0323 => 'dotbelowcomb',
2526
+ 0x0131 => 'dotlessi',
2527
+ 0xF6BE => 'dotlessj',
2528
+ 0x22C5 => 'dotmath',
2529
+ 0xF6EB => 'dsuperior',
2530
+ 0x0065 => 'e',
2531
+ 0x00E9 => 'eacute',
2532
+ 0x0115 => 'ebreve',
2533
+ 0x011B => 'ecaron',
2534
+ 0x00EA => 'ecircumflex',
2535
+ 0x00EB => 'edieresis',
2536
+ 0x0117 => 'edotaccent',
2537
+ 0x00E8 => 'egrave',
2538
+ 0x0038 => 'eight',
2539
+ 0x2088 => 'eightinferior',
2540
+ 0xF738 => 'eightoldstyle',
2541
+ 0x2078 => 'eightsuperior',
2542
+ 0x2208 => 'element',
2543
+ 0x2026 => 'ellipsis',
2544
+ 0x0113 => 'emacron',
2545
+ 0x2014 => 'emdash',
2546
+ 0x2205 => 'emptyset',
2547
+ 0x2013 => 'endash',
2548
+ 0x014B => 'eng',
2549
+ 0x0119 => 'eogonek',
2550
+ 0x03B5 => 'epsilon',
2551
+ 0x03AD => 'epsilontonos',
2552
+ 0x003D => 'equal',
2553
+ 0x2261 => 'equivalence',
2554
+ 0x212E => 'estimated',
2555
+ 0xF6EC => 'esuperior',
2556
+ 0x03B7 => 'eta',
2557
+ 0x03AE => 'etatonos',
2558
+ 0x00F0 => 'eth',
2559
+ 0x0021 => 'exclam',
2560
+ 0x203C => 'exclamdbl',
2561
+ 0x00A1 => 'exclamdown',
2562
+ 0xF7A1 => 'exclamdownsmall',
2563
+ 0xF721 => 'exclamsmall',
2564
+ 0x2203 => 'existential',
2565
+ 0x0066 => 'f',
2566
+ 0x2640 => 'female',
2567
+ 0xFB00 => 'ff',
2568
+ 0xFB03 => 'ffi',
2569
+ 0xFB04 => 'ffl',
2570
+ 0xFB01 => 'fi',
2571
+ 0x2012 => 'figuredash',
2572
+ 0x25A0 => 'filledbox',
2573
+ 0x25AC => 'filledrect',
2574
+ 0x0035 => 'five',
2575
+ 0x215D => 'fiveeighths',
2576
+ 0x2085 => 'fiveinferior',
2577
+ 0xF735 => 'fiveoldstyle',
2578
+ 0x2075 => 'fivesuperior',
2579
+ 0xFB02 => 'fl',
2580
+ 0x0192 => 'florin',
2581
+ 0x0034 => 'four',
2582
+ 0x2084 => 'fourinferior',
2583
+ 0xF734 => 'fouroldstyle',
2584
+ 0x2074 => 'foursuperior',
2585
+ 0x2044 => 'fraction',
2586
+ 0x2215 => 'fraction',
2587
+ 0x20A3 => 'franc',
2588
+ 0x0067 => 'g',
2589
+ 0x03B3 => 'gamma',
2590
+ 0x011F => 'gbreve',
2591
+ 0x01E7 => 'gcaron',
2592
+ 0x011D => 'gcircumflex',
2593
+ 0x0123 => 'gcommaaccent',
2594
+ 0x0121 => 'gdotaccent',
2595
+ 0x00DF => 'germandbls',
2596
+ 0x2207 => 'gradient',
2597
+ 0x0060 => 'grave',
2598
+ 0x0300 => 'gravecomb',
2599
+ 0x003E => 'greater',
2600
+ 0x2265 => 'greaterequal',
2601
+ 0x00AB => 'guillemotleft',
2602
+ 0x00BB => 'guillemotright',
2603
+ 0x2039 => 'guilsinglleft',
2604
+ 0x203A => 'guilsinglright',
2605
+ 0x0068 => 'h',
2606
+ 0x0127 => 'hbar',
2607
+ 0x0125 => 'hcircumflex',
2608
+ 0x2665 => 'heart',
2609
+ 0x0309 => 'hookabovecomb',
2610
+ 0x2302 => 'house',
2611
+ 0x02DD => 'hungarumlaut',
2612
+ 0x002D => 'hyphen',
2613
+ 0x00AD => 'hyphen',
2614
+ 0xF6E5 => 'hypheninferior',
2615
+ 0xF6E6 => 'hyphensuperior',
2616
+ 0x0069 => 'i',
2617
+ 0x00ED => 'iacute',
2618
+ 0x012D => 'ibreve',
2619
+ 0x00EE => 'icircumflex',
2620
+ 0x00EF => 'idieresis',
2621
+ 0x00EC => 'igrave',
2622
+ 0x0133 => 'ij',
2623
+ 0x012B => 'imacron',
2624
+ 0x221E => 'infinity',
2625
+ 0x222B => 'integral',
2626
+ 0x2321 => 'integralbt',
2627
+ 0xF8F5 => 'integralex',
2628
+ 0x2320 => 'integraltp',
2629
+ 0x2229 => 'intersection',
2630
+ 0x25D8 => 'invbullet',
2631
+ 0x25D9 => 'invcircle',
2632
+ 0x263B => 'invsmileface',
2633
+ 0x012F => 'iogonek',
2634
+ 0x03B9 => 'iota',
2635
+ 0x03CA => 'iotadieresis',
2636
+ 0x0390 => 'iotadieresistonos',
2637
+ 0x03AF => 'iotatonos',
2638
+ 0xF6ED => 'isuperior',
2639
+ 0x0129 => 'itilde',
2640
+ 0x006A => 'j',
2641
+ 0x0135 => 'jcircumflex',
2642
+ 0x006B => 'k',
2643
+ 0x03BA => 'kappa',
2644
+ 0x0137 => 'kcommaaccent',
2645
+ 0x0138 => 'kgreenlandic',
2646
+ 0x006C => 'l',
2647
+ 0x013A => 'lacute',
2648
+ 0x03BB => 'lambda',
2649
+ 0x013E => 'lcaron',
2650
+ 0x013C => 'lcommaaccent',
2651
+ 0x0140 => 'ldot',
2652
+ 0x003C => 'less',
2653
+ 0x2264 => 'lessequal',
2654
+ 0x258C => 'lfblock',
2655
+ 0x20A4 => 'lira',
2656
+ 0xF6C0 => 'll',
2657
+ 0x2227 => 'logicaland',
2658
+ 0x00AC => 'logicalnot',
2659
+ 0x2228 => 'logicalor',
2660
+ 0x017F => 'longs',
2661
+ 0x25CA => 'lozenge',
2662
+ 0x0142 => 'lslash',
2663
+ 0xF6EE => 'lsuperior',
2664
+ 0x2591 => 'ltshade',
2665
+ 0x006D => 'm',
2666
+ 0x00AF => 'macron',
2667
+ 0x02C9 => 'macron',
2668
+ 0x2642 => 'male',
2669
+ 0x2212 => 'minus',
2670
+ 0x2032 => 'minute',
2671
+ 0xF6EF => 'msuperior',
2672
+ 0x00B5 => 'mu',
2673
+ 0x03BC => 'mu',
2674
+ 0x00D7 => 'multiply',
2675
+ 0x266A => 'musicalnote',
2676
+ 0x266B => 'musicalnotedbl',
2677
+ 0x006E => 'n',
2678
+ 0x0144 => 'nacute',
2679
+ 0x0149 => 'napostrophe',
2680
+ 0x0148 => 'ncaron',
2681
+ 0x0146 => 'ncommaaccent',
2682
+ 0x0039 => 'nine',
2683
+ 0x2089 => 'nineinferior',
2684
+ 0xF739 => 'nineoldstyle',
2685
+ 0x2079 => 'ninesuperior',
2686
+ 0x2209 => 'notelement',
2687
+ 0x2260 => 'notequal',
2688
+ 0x2284 => 'notsubset',
2689
+ 0x207F => 'nsuperior',
2690
+ 0x00F1 => 'ntilde',
2691
+ 0x03BD => 'nu',
2692
+ 0x0023 => 'numbersign',
2693
+ 0x006F => 'o',
2694
+ 0x00F3 => 'oacute',
2695
+ 0x014F => 'obreve',
2696
+ 0x00F4 => 'ocircumflex',
2697
+ 0x00F6 => 'odieresis',
2698
+ 0x0153 => 'oe',
2699
+ 0x02DB => 'ogonek',
2700
+ 0x00F2 => 'ograve',
2701
+ 0x01A1 => 'ohorn',
2702
+ # 0x0151 => 'ohungarumlaut',
2703
+ 0x014D => 'omacron',
2704
+ 0x0151 => 'otilde',
2705
+ 0x014D => 'omacron',
2706
+ 0x03C9 => 'omega',
2707
+ 0x03D6 => 'omega1',
2708
+ 0x03CE => 'omegatonos',
2709
+ 0x03BF => 'omicron',
2710
+ 0x03CC => 'omicrontonos',
2711
+ 0x0031 => 'one',
2712
+ 0x2024 => 'onedotenleader',
2713
+ 0x215B => 'oneeighth',
2714
+ 0xF6DC => 'onefitted',
2715
+ 0x00BD => 'onehalf',
2716
+ 0x2081 => 'oneinferior',
2717
+ 0xF731 => 'oneoldstyle',
2718
+ 0x00BC => 'onequarter',
2719
+ 0x00B9 => 'onesuperior',
2720
+ 0x2153 => 'onethird',
2721
+ 0x25E6 => 'openbullet',
2722
+ 0x00AA => 'ordfeminine',
2723
+ 0x00BA => 'ordmasculine',
2724
+ 0x221F => 'orthogonal',
2725
+ 0x00F8 => 'oslash',
2726
+ 0x01FF => 'oslashacute',
2727
+ 0xF6F0 => 'osuperior',
2728
+ 0x00F5 => 'otilde',
2729
+ 0x0070 => 'p',
2730
+ 0x00B6 => 'paragraph',
2731
+ 0x0028 => 'parenleft',
2732
+ 0xF8ED => 'parenleftbt',
2733
+ 0xF8EC => 'parenleftex',
2734
+ 0x208D => 'parenleftinferior',
2735
+ 0x207D => 'parenleftsuperior',
2736
+ 0xF8EB => 'parenlefttp',
2737
+ 0x0029 => 'parenright',
2738
+ 0xF8F8 => 'parenrightbt',
2739
+ 0xF8F7 => 'parenrightex',
2740
+ 0x208E => 'parenrightinferior',
2741
+ 0x207E => 'parenrightsuperior',
2742
+ 0xF8F6 => 'parenrighttp',
2743
+ 0x2202 => 'partialdiff',
2744
+ 0x0025 => 'percent',
2745
+ 0x002E => 'period',
2746
+ 0x00B7 => 'periodcentered',
2747
+ 0x2219 => 'periodcentered',
2748
+ 0xF6E7 => 'periodinferior',
2749
+ 0xF6E8 => 'periodsuperior',
2750
+ 0x22A5 => 'perpendicular',
2751
+ 0x2030 => 'perthousand',
2752
+ 0x20A7 => 'peseta',
2753
+ 0x03C6 => 'phi',
2754
+ 0x03D5 => 'phi1',
2755
+ 0x03C0 => 'pi',
2756
+ 0x002B => 'plus',
2757
+ 0x00B1 => 'plusminus',
2758
+ 0x211E => 'prescription',
2759
+ 0x220F => 'product',
2760
+ 0x2282 => 'propersubset',
2761
+ 0x2283 => 'propersuperset',
2762
+ 0x221D => 'proportional',
2763
+ 0x03C8 => 'psi',
2764
+ 0x0071 => 'q',
2765
+ 0x003F => 'question',
2766
+ 0x00BF => 'questiondown',
2767
+ 0xF7BF => 'questiondownsmall',
2768
+ 0xF73F => 'questionsmall',
2769
+ 0x0022 => 'quotedbl',
2770
+ 0x201E => 'quotedblbase',
2771
+ 0x201C => 'quotedblleft',
2772
+ 0x201D => 'quotedblright',
2773
+ 0x2018 => 'quoteleft',
2774
+ 0x201B => 'quotereversed',
2775
+ 0x2019 => 'quoteright',
2776
+ 0x201A => 'quotesinglbase',
2777
+ 0x0027 => 'quotesingle',
2778
+ 0x0072 => 'r',
2779
+ 0x0155 => 'racute',
2780
+ 0x221A => 'radical',
2781
+ 0xF8E5 => 'radicalex',
2782
+ 0x0159 => 'rcaron',
2783
+ 0x0157 => 'rcommaaccent',
2784
+ 0x2286 => 'reflexsubset',
2785
+ 0x2287 => 'reflexsuperset',
2786
+ 0x00AE => 'registered',
2787
+ 0xF8E8 => 'registersans',
2788
+ 0xF6DA => 'registerserif',
2789
+ 0x2310 => 'revlogicalnot',
2790
+ 0x03C1 => 'rho',
2791
+ 0x02DA => 'ring',
2792
+ 0xF6F1 => 'rsuperior',
2793
+ 0x2590 => 'rtblock',
2794
+ 0xF6DD => 'rupiah',
2795
+ 0x0073 => 's',
2796
+ 0x015B => 'sacute',
2797
+ 0x0161 => 'scaron',
2798
+ 0x015F => 'scedilla',
2799
+ 0xF6C2 => 'scedilla',
2800
+ 0x015D => 'scircumflex',
2801
+ 0x0219 => 'scommaaccent',
2802
+ 0x2033 => 'second',
2803
+ 0x00A7 => 'section',
2804
+ 0x003B => 'semicolon',
2805
+ 0x0037 => 'seven',
2806
+ 0x215E => 'seveneighths',
2807
+ 0x2087 => 'seveninferior',
2808
+ 0xF737 => 'sevenoldstyle',
2809
+ 0x2077 => 'sevensuperior',
2810
+ 0x2592 => 'shade',
2811
+ 0x03C3 => 'sigma',
2812
+ 0x03C2 => 'sigma1',
2813
+ 0x223C => 'similar',
2814
+ 0x0036 => 'six',
2815
+ 0x2086 => 'sixinferior',
2816
+ 0xF736 => 'sixoldstyle',
2817
+ 0x2076 => 'sixsuperior',
2818
+ 0x002F => 'slash',
2819
+ 0x263A => 'smileface',
2820
+ 0x0020 => 'space',
2821
+ 0x00A0 => 'space',
2822
+ 0x2660 => 'spade',
2823
+ 0xF6F2 => 'ssuperior',
2824
+ 0x00A3 => 'sterling',
2825
+ 0x220B => 'suchthat',
2826
+ 0x2211 => 'summation',
2827
+ 0x263C => 'sun',
2828
+ 0x0074 => 't',
2829
+ 0x03C4 => 'tau',
2830
+ 0x0167 => 'tbar',
2831
+ 0x0165 => 'tcaron',
2832
+ 0x0163 => 'tcommaaccent',
2833
+ 0x021B => 'tcommaaccent',
2834
+ 0x2234 => 'therefore',
2835
+ 0x03B8 => 'theta',
2836
+ 0x03D1 => 'theta1',
2837
+ 0x00FE => 'thorn',
2838
+ 0x0033 => 'three',
2839
+ 0x215C => 'threeeighths',
2840
+ 0x2083 => 'threeinferior',
2841
+ 0xF733 => 'threeoldstyle',
2842
+ 0x00BE => 'threequarters',
2843
+ 0xF6DE => 'threequartersemdash',
2844
+ 0x00B3 => 'threesuperior',
2845
+ 0x02DC => 'tilde',
2846
+ 0x0303 => 'tildecomb',
2847
+ 0x0384 => 'tonos',
2848
+ 0x2122 => 'trademark',
2849
+ 0xF8EA => 'trademarksans',
2850
+ 0xF6DB => 'trademarkserif',
2851
+ 0x25BC => 'triagdn',
2852
+ 0x25C4 => 'triaglf',
2853
+ 0x25BA => 'triagrt',
2854
+ 0x25B2 => 'triagup',
2855
+ 0xF6F3 => 'tsuperior',
2856
+ 0x0032 => 'two',
2857
+ 0x2025 => 'twodotenleader',
2858
+ 0x2082 => 'twoinferior',
2859
+ 0xF732 => 'twooldstyle',
2860
+ 0x00B2 => 'twosuperior',
2861
+ 0x2154 => 'twothirds',
2862
+ 0x0075 => 'u',
2863
+ 0x00FA => 'uacute',
2864
+ 0x016D => 'ubreve',
2865
+ 0x00FB => 'ucircumflex',
2866
+ 0x00FC => 'udieresis',
2867
+ 0x00F9 => 'ugrave',
2868
+ 0x0171 => 'uhungarumlaut',
2869
+ 0x01B0 => 'uhorn',
2870
+ 0x0171 => 'ucircumflex',
2871
+ 0x016B => 'umacron',
2872
+ 0x005F => 'underscore',
2873
+ 0x2017 => 'underscoredbl',
2874
+ 0x222A => 'union',
2875
+ 0x2200 => 'universal',
2876
+ 0x0173 => 'uogonek',
2877
+ 0x2580 => 'upblock',
2878
+ 0x03C5 => 'upsilon',
2879
+ 0x03CB => 'upsilondieresis',
2880
+ 0x03B0 => 'upsilondieresistonos',
2881
+ 0x03CD => 'upsilontonos',
2882
+ 0x016F => 'uring',
2883
+ 0x0169 => 'utilde',
2884
+ 0x0076 => 'v',
2885
+ 0x0077 => 'w',
2886
+ 0x1E83 => 'wacute',
2887
+ 0x0175 => 'wcircumflex',
2888
+ 0x1E85 => 'wdieresis',
2889
+ 0x2118 => 'weierstrass',
2890
+ 0x1E81 => 'wgrave',
2891
+ 0x0078 => 'x',
2892
+ 0x03BE => 'xi',
2893
+ 0x0079 => 'y',
2894
+ 0x00FD => 'yacute',
2895
+ 0x0177 => 'ycircumflex',
2896
+ 0x00FF => 'ydieresis',
2897
+ 0x00A5 => 'yen',
2898
+ 0x1EF3 => 'ygrave',
2899
+ 0x007A => 'z',
2900
+ 0x017A => 'zacute',
2901
+ 0x017E => 'zcaron',
2902
+ 0x017C => 'zdotaccent',
2903
+ 0x0030 => 'zero',
2904
+ 0x2080 => 'zeroinferior',
2905
+ 0xF730 => 'zerooldstyle',
2906
+ 0x2070 => 'zerosuperior',
2907
+ 0x03B6 => 'zeta'
2908
+ }
2909
+
2910
+ CODEPOINTS = GLYPHS.invert
2911
+
2912
+ FONT_NAMES = [
2913
+ 'Helvetica',
2914
+ 'Helvetica-Bold',
2915
+ 'Helvetica-Oblique',
2916
+ 'Helvetica-BoldOblique',
2917
+ 'Times-Roman',
2918
+ 'Times-Bold',
2919
+ 'Times-Italic',
2920
+ 'Times-BoldItalic',
2921
+ 'Courier',
2922
+ 'Courier-Bold',
2923
+ 'Courier-Oblique',
2924
+ 'Courier-BoldOblique',
2925
+ 'Symbol',
2926
+ 'ZapfDingbats',
2927
+ 'AvantGarde-Book',
2928
+ 'AvantGarde-BookOblique',
2929
+ 'AvantGarde-Demi',
2930
+ 'AvantGarde-DemiOblique',
2931
+ 'Bookman-Demi',
2932
+ 'Bookman-DemiItalic',
2933
+ 'Bookman-Light',
2934
+ 'Bookman-LightItalic',
2935
+ 'Helvetica-Narrow',
2936
+ 'Helvetica-Narrow-Oblique',
2937
+ 'Helvetica-Narrow-Bold',
2938
+ 'Helvetica-Narrow-BoldOblique',
2939
+ 'NewCenturySchlbk-Roman',
2940
+ 'NewCenturySchlbk-Italic',
2941
+ 'NewCenturySchlbk-Bold',
2942
+ 'NewCenturySchlbk-BoldItalic',
2943
+ 'Palatino-Roman',
2944
+ 'Palatino-Italic',
2945
+ 'Palatino-Bold',
2946
+ 'Palatino-BoldItalic',
2947
+ 'ZapfChancery-MediumItalic',
2948
+ 'Helvetica-Condensed',
2949
+ 'Helvetica-Condensed-Bold',
2950
+ 'Helvetica-Condensed-Oblique',
2951
+ 'Helvetica-Condensed-BoldObl'
2952
+ ]
2953
+
2954
+ NAMED_COLORS = {
2955
+ 'AliceBlue' => 0xF0F8FF,
2956
+ 'AntiqueWhite' => 0xFAEBD7,
2957
+ 'Aqua' => 0x00FFFF,
2958
+ 'Aquamarine' => 0x7FFFD4,
2959
+ 'Azure' => 0xF0FFFF,
2960
+ 'Beige' => 0xF5F5DC,
2961
+ 'Bisque' => 0xFFE4C4,
2962
+ 'Black' => 0x000000,
2963
+ 'BlanchedAlmond' => 0xFFEBCD,
2964
+ 'Blue' => 0x0000FF,
2965
+ 'BlueViolet' => 0x8A2BE2,
2966
+ 'Brown' => 0xA52A2A,
2967
+ 'BurlyWood' => 0xDEB887,
2968
+ 'CadetBlue' => 0x5F9EA0,
2969
+ 'Chartreuse' => 0x7FFF00,
2970
+ 'Chocolate' => 0xD2691E,
2971
+ 'Coral' => 0xFF7F50,
2972
+ 'CornflowerBlue' => 0x6495ED,
2973
+ 'Cornsilk' => 0xFFF8DC,
2974
+ 'Crimson' => 0xDC143C,
2975
+ 'Cyan' => 0x00FFFF,
2976
+ 'DarkBlue' => 0x00008B,
2977
+ 'DarkCyan' => 0x008B8B,
2978
+ 'DarkGoldenRod' => 0xB8860B,
2979
+ 'DarkGray' => 0xA9A9A9,
2980
+ 'DarkGrey' => 0xA9A9A9,
2981
+ 'DarkGreen' => 0x006400,
2982
+ 'DarkKhaki' => 0xBDB76B,
2983
+ 'DarkMagenta' => 0x8B008B,
2984
+ 'DarkOliveGreen' => 0x556B2F,
2985
+ 'DarkOrange' => 0xFF8C00,
2986
+ 'DarkOrchid' => 0x9932CC,
2987
+ 'DarkRed' => 0x8B0000,
2988
+ 'DarkSalmon' => 0xE9967A,
2989
+ 'DarkSeaGreen' => 0x8FBC8F,
2990
+ 'DarkSlateBlue' => 0x483D8B,
2991
+ 'DarkSlateGray' => 0x2F4F4F,
2992
+ 'DarkSlateGrey' => 0x2F4F4F,
2993
+ 'DarkTurquoise' => 0x00CED1,
2994
+ 'DarkViolet' => 0x9400D3,
2995
+ 'DeepPink' => 0xFF1493,
2996
+ 'DeepSkyBlue' => 0x00BFFF,
2997
+ 'DimGray' => 0x696969,
2998
+ 'DimGrey' => 0x696969,
2999
+ 'DodgerBlue' => 0x1E90FF,
3000
+ 'FireBrick' => 0xB22222,
3001
+ 'FloralWhite' => 0xFFFAF0,
3002
+ 'ForestGreen' => 0x228B22,
3003
+ 'Fuchsia' => 0xFF00FF,
3004
+ 'Gainsboro' => 0xDCDCDC,
3005
+ 'GhostWhite' => 0xF8F8FF,
3006
+ 'Gold' => 0xFFD700,
3007
+ 'GoldenRod' => 0xDAA520,
3008
+ 'Gray' => 0x808080,
3009
+ 'Grey' => 0x808080,
3010
+ 'Green' => 0x008000,
3011
+ 'GreenYellow' => 0xADFF2F,
3012
+ 'HoneyDew' => 0xF0FFF0,
3013
+ 'HotPink' => 0xFF69B4,
3014
+ 'IndianRed' => 0xCD5C5C,
3015
+ 'Indigo' => 0x4B0082,
3016
+ 'Ivory' => 0xFFFFF0,
3017
+ 'Khaki' => 0xF0E68C,
3018
+ 'Lavender' => 0xE6E6FA,
3019
+ 'LavenderBlush' => 0xFFF0F5,
3020
+ 'LawnGreen' => 0x7CFC00,
3021
+ 'LemonChiffon' => 0xFFFACD,
3022
+ 'LightBlue' => 0xADD8E6,
3023
+ 'LightCoral' => 0xF08080,
3024
+ 'LightCyan' => 0xE0FFFF,
3025
+ 'LightGoldenRodYellow' => 0xFAFAD2,
3026
+ 'LightGray' => 0xD3D3D3,
3027
+ 'LightGrey' => 0xD3D3D3,
3028
+ 'LightGreen' => 0x90EE90,
3029
+ 'LightPink' => 0xFFB6C1,
3030
+ 'LightSalmon' => 0xFFA07A,
3031
+ 'LightSeaGreen' => 0x20B2AA,
3032
+ 'LightSkyBlue' => 0x87CEFA,
3033
+ 'LightSlateGray' => 0x778899,
3034
+ 'LightSlateGrey' => 0x778899,
3035
+ 'LightSteelBlue' => 0xB0C4DE,
3036
+ 'LightYellow' => 0xFFFFE0,
3037
+ 'Lime' => 0x00FF00,
3038
+ 'LimeGreen' => 0x32CD32,
3039
+ 'Linen' => 0xFAF0E6,
3040
+ 'Magenta' => 0xFF00FF,
3041
+ 'Maroon' => 0x800000,
3042
+ 'MediumAquaMarine' => 0x66CDAA,
3043
+ 'MediumBlue' => 0x0000CD,
3044
+ 'MediumOrchid' => 0xBA55D3,
3045
+ 'MediumPurple' => 0x9370D8,
3046
+ 'MediumSeaGreen' => 0x3CB371,
3047
+ 'MediumSlateBlue' => 0x7B68EE,
3048
+ 'MediumSpringGreen' => 0x00FA9A,
3049
+ 'MediumTurquoise' => 0x48D1CC,
3050
+ 'MediumVioletRed' => 0xC71585,
3051
+ 'MidnightBlue' => 0x191970,
3052
+ 'MintCream' => 0xF5FFFA,
3053
+ 'MistyRose' => 0xFFE4E1,
3054
+ 'Moccasin' => 0xFFE4B5,
3055
+ 'NavajoWhite' => 0xFFDEAD,
3056
+ 'Navy' => 0x000080,
3057
+ 'OldLace' => 0xFDF5E6,
3058
+ 'Olive' => 0x808000,
3059
+ 'OliveDrab' => 0x6B8E23,
3060
+ 'Orange' => 0xFFA500,
3061
+ 'OrangeRed' => 0xFF4500,
3062
+ 'Orchid' => 0xDA70D6,
3063
+ 'PaleGoldenRod' => 0xEEE8AA,
3064
+ 'PaleGreen' => 0x98FB98,
3065
+ 'PaleTurquoise' => 0xAFEEEE,
3066
+ 'PaleVioletRed' => 0xD87093,
3067
+ 'PapayaWhip' => 0xFFEFD5,
3068
+ 'PeachPuff' => 0xFFDAB9,
3069
+ 'Peru' => 0xCD853F,
3070
+ 'Pink' => 0xFFC0CB,
3071
+ 'Plum' => 0xDDA0DD,
3072
+ 'PowderBlue' => 0xB0E0E6,
3073
+ 'Purple' => 0x800080,
3074
+ 'Red' => 0xFF0000,
3075
+ 'RosyBrown' => 0xBC8F8F,
3076
+ 'RoyalBlue' => 0x4169E1,
3077
+ 'SaddleBrown' => 0x8B4513,
3078
+ 'Salmon' => 0xFA8072,
3079
+ 'SandyBrown' => 0xF4A460,
3080
+ 'SeaGreen' => 0x2E8B57,
3081
+ 'SeaShell' => 0xFFF5EE,
3082
+ 'Sienna' => 0xA0522D,
3083
+ 'Silver' => 0xC0C0C0,
3084
+ 'SkyBlue' => 0x87CEEB,
3085
+ 'SlateBlue' => 0x6A5ACD,
3086
+ 'SlateGray' => 0x708090,
3087
+ 'SlateGrey' => 0x708090,
3088
+ 'Snow' => 0xFFFAFA,
3089
+ 'SpringGreen' => 0x00FF7F,
3090
+ 'SteelBlue' => 0x4682B4,
3091
+ 'Tan' => 0xD2B48C,
3092
+ 'Teal' => 0x008080,
3093
+ 'Thistle' => 0xD8BFD8,
3094
+ 'Tomato' => 0xFF6347,
3095
+ 'Turquoise' => 0x40E0D0,
3096
+ 'Violet' => 0xEE82EE,
3097
+ 'Wheat' => 0xF5DEB3,
3098
+ 'White' => 0xFFFFFF,
3099
+ 'WhiteSmoke' => 0xF5F5F5,
3100
+ 'Yellow' => 0xFFFF00,
3101
+ 'YellowGreen' => 0x9ACD32
3102
+ }
3103
+
3104
+ STANDARD_ENCODINGS = ['WinAnsiEncoding','StandardEncoding','MacRomanEncoding','MacExpertEncoding']
3105
+
3106
+ # GlyphList = File.join(File.dirname(__FILE__), 'glyphlist.txt')
3107
+ # if File.exist?(GlyphList)
3108
+ # GLYPHS.clear
3109
+ # File.foreach(GlyphList) do |line|
3110
+ # if line =~ /^(\w+);(\w{4})$/
3111
+ # codepoint = $2.to_i(16)
3112
+ # GLYPHS[codepoint] = $1 unless GLYPHS[codepoint]
3113
+ # end
3114
+ # end
3115
+ # end
3116
+
3117
+ FontMetrics = Struct.new(:needs_descriptor, :widths, :ascent, :descent, :flags, :b_box, :missing_width,
3118
+ :stem_v, :stem_h, :italic_angle, :cap_height, :x_height, :leading, :max_width, :avg_width,
3119
+ :underline_position, :underline_thickness, :differences)
3120
+
3121
+ def font_index(font_name)
3122
+ FONT_NAMES.index(font_name)
3123
+ end
3124
+
3125
+ def font_metrics(font_name)
3126
+ index = font_index(font_name)
3127
+ raise Exception.new("Unknown font #{font_name}.") unless index
3128
+ needs_descriptor = index >= 14
3129
+ FontMetrics.new(needs_descriptor, FONT_WIDTHS[index], FONT_ASCENDERS[index], FONT_DESCENDERS[index], FONT_FLAGS[index], FONT_BBOXES[index],
3130
+ FONT_MISSING_WIDTHS[index], FONT_STEM_VS[index], FONT_STEM_HS[index], FONT_ITALIC_ANGLES[index],
3131
+ FONT_CAP_HEIGHTS[index], FONT_X_HEIGHTS[index], FONT_LEADINGS[index], FONT_MAX_WIDTHS[index], FONT_AVG_WIDTHS[index],
3132
+ UNDERLINE_POSITION, UNDERLINE_THICKNESS)
3133
+ end
3134
+
3135
+ def glyph_name(codepoint)
3136
+ return nil if codepoint.nil? or codepoint < 0x20
3137
+ GLYPHS[codepoint] || 'question'
3138
+ end
3139
+
3140
+ module_function :font_index, :font_metrics, :glyph_name
3141
+ end
3142
+ end