laag-freetype2 2.9.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (737) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +57 -0
  3. data/LICENSE.txt +169 -0
  4. data/README.org +34 -0
  5. data/ext/laag/freetype2/extconf.rb +16 -0
  6. data/laag-freetype2.gemspec +20 -0
  7. data/lib/laag/freetype2.rb +29 -0
  8. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/.gitignore +3 -0
  9. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/.mailmap +9 -0
  10. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/CMakeLists.txt +497 -0
  11. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/ChangeLog +2352 -0
  12. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/ChangeLog.20 +2613 -0
  13. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/ChangeLog.21 +9438 -0
  14. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/ChangeLog.22 +2837 -0
  15. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/ChangeLog.23 +7948 -0
  16. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/ChangeLog.24 +6360 -0
  17. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/ChangeLog.25 +5161 -0
  18. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/ChangeLog.26 +5711 -0
  19. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/ChangeLog.27 +2106 -0
  20. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/ChangeLog.28 +3136 -0
  21. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/Jamfile +222 -0
  22. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/Jamrules +71 -0
  23. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/Makefile +34 -0
  24. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/README +84 -0
  25. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/README.git +50 -0
  26. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/autogen.sh +165 -0
  27. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/amiga/README +110 -0
  28. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/amiga/include/config/ftconfig.h +55 -0
  29. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/amiga/include/config/ftmodule.h +160 -0
  30. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/amiga/makefile +293 -0
  31. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/amiga/makefile.os4 +297 -0
  32. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/amiga/smakefile +299 -0
  33. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/amiga/src/base/ftdebug.c +297 -0
  34. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/amiga/src/base/ftsystem.c +530 -0
  35. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/ansi/ansi-def.mk +74 -0
  36. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/ansi/ansi.mk +21 -0
  37. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/atari/ATARI.H +20 -0
  38. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/atari/FNames.SIC +37 -0
  39. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/atari/FREETYPE.PRJ +32 -0
  40. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/atari/README.TXT +51 -0
  41. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/atari/deflinejoiner.awk +181 -0
  42. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/atari/gen-purec-patch.sh +40 -0
  43. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/beos/beos-def.mk +76 -0
  44. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/beos/beos.mk +19 -0
  45. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/beos/detect.mk +41 -0
  46. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/cmake/FindHarfBuzz.cmake +81 -0
  47. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/cmake/iOS.cmake +270 -0
  48. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/cmake/testbuild.sh +157 -0
  49. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/compiler/ansi-cc.mk +80 -0
  50. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/compiler/bcc-dev.mk +86 -0
  51. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/compiler/bcc.mk +86 -0
  52. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/compiler/emx.mk +77 -0
  53. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/compiler/gcc-dev.mk +95 -0
  54. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/compiler/gcc.mk +77 -0
  55. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/compiler/intelc.mk +85 -0
  56. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/compiler/unix-lcc.mk +83 -0
  57. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/compiler/visualage.mk +76 -0
  58. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/compiler/visualc.mk +82 -0
  59. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/compiler/watcom.mk +81 -0
  60. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/compiler/win-lcc.mk +81 -0
  61. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/detect.mk +128 -0
  62. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/dos/detect.mk +142 -0
  63. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/dos/dos-def.mk +45 -0
  64. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/dos/dos-emx.mk +21 -0
  65. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/dos/dos-gcc.mk +21 -0
  66. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/dos/dos-wat.mk +20 -0
  67. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/exports.mk +80 -0
  68. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/freetype.mk +357 -0
  69. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/link_dos.mk +42 -0
  70. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/link_std.mk +42 -0
  71. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/mac/FreeType.m68k_cfm.make.txt +209 -0
  72. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/mac/FreeType.m68k_far.make.txt +208 -0
  73. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/mac/FreeType.ppc_carbon.make.txt +212 -0
  74. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/mac/FreeType.ppc_classic.make.txt +213 -0
  75. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/mac/README +401 -0
  76. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/mac/ascii2mpw.py +24 -0
  77. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/mac/freetype-Info.plist +36 -0
  78. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/mac/ftlib.prj.xml +1194 -0
  79. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/mac/ftmac.c +1542 -0
  80. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/modules.mk +79 -0
  81. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/os2/detect.mk +73 -0
  82. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/os2/os2-def.mk +44 -0
  83. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/os2/os2-dev.mk +30 -0
  84. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/os2/os2-gcc.mk +26 -0
  85. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/symbian/bld.inf +72 -0
  86. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/symbian/freetype.mmp +146 -0
  87. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/toplevel.mk +277 -0
  88. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/unix/.gitignore +18 -0
  89. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/unix/configure.raw +1103 -0
  90. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/unix/detect.mk +93 -0
  91. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/unix/freetype-config.in +211 -0
  92. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/unix/freetype2.in +14 -0
  93. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/unix/freetype2.m4 +194 -0
  94. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/unix/ft-munmap.m4 +32 -0
  95. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/unix/ftconfig.in +602 -0
  96. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/unix/ftsystem.c +420 -0
  97. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/unix/install.mk +102 -0
  98. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/unix/pkg.m4 +199 -0
  99. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/unix/unix-cc.in +121 -0
  100. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/unix/unix-def.in +154 -0
  101. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/unix/unix-dev.mk +26 -0
  102. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/unix/unix-lcc.mk +24 -0
  103. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/unix/unix.mk +62 -0
  104. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/unix/unixddef.mk +45 -0
  105. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/vms/ftconfig.h +554 -0
  106. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/vms/ftsystem.c +328 -0
  107. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/wince/ftdebug.c +255 -0
  108. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/wince/vc2005-ce/freetype.sln +157 -0
  109. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/wince/vc2005-ce/freetype.vcproj +874 -0
  110. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/wince/vc2005-ce/index.html +47 -0
  111. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/wince/vc2008-ce/freetype.sln +157 -0
  112. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/wince/vc2008-ce/freetype.vcproj +3508 -0
  113. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/wince/vc2008-ce/index.html +47 -0
  114. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/.gitignore +5 -0
  115. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/detect.mk +184 -0
  116. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/ftdebug.c +237 -0
  117. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/vc2005/freetype.sln +31 -0
  118. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/vc2005/freetype.vcproj +217 -0
  119. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/vc2005/index.html +37 -0
  120. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/vc2008/freetype.sln +31 -0
  121. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/vc2008/freetype.vcproj +668 -0
  122. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/vc2008/index.html +37 -0
  123. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/vc2010/freetype.sln +37 -0
  124. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/vc2010/freetype.user.props +68 -0
  125. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/vc2010/freetype.vcxproj +444 -0
  126. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/vc2010/freetype.vcxproj.filters +155 -0
  127. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/vc2010/index.html +40 -0
  128. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/visualc/freetype.dsp +383 -0
  129. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/visualc/freetype.dsw +29 -0
  130. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/visualc/freetype.sln +31 -0
  131. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/visualc/freetype.vcproj +667 -0
  132. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/visualc/index.html +37 -0
  133. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/visualce/freetype.dsp +383 -0
  134. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/visualce/freetype.dsw +29 -0
  135. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/visualce/freetype.vcproj +3697 -0
  136. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/visualce/index.html +47 -0
  137. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/w32-bcc.mk +28 -0
  138. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/w32-bccd.mk +26 -0
  139. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/w32-dev.mk +32 -0
  140. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/w32-gcc.mk +31 -0
  141. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/w32-icc.mk +28 -0
  142. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/w32-intl.mk +28 -0
  143. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/w32-lcc.mk +24 -0
  144. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/w32-mingw32.mk +33 -0
  145. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/w32-vcc.mk +28 -0
  146. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/w32-wat.mk +28 -0
  147. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/builds/windows/win32-def.mk +47 -0
  148. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/configure +135 -0
  149. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/devel/ft2build.h +40 -0
  150. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/devel/ftoption.h +927 -0
  151. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/docs/CHANGES +5035 -0
  152. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/docs/CMAKE +2 -0
  153. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/docs/CUSTOMIZE +152 -0
  154. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/docs/DEBUG +204 -0
  155. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/docs/FTL.TXT +169 -0
  156. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/docs/GPLv2.TXT +340 -0
  157. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/docs/INSTALL +90 -0
  158. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/docs/INSTALL.ANY +154 -0
  159. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/docs/INSTALL.CROSS +177 -0
  160. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/docs/INSTALL.GNU +161 -0
  161. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/docs/INSTALL.MAC +32 -0
  162. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/docs/INSTALL.UNIX +118 -0
  163. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/docs/INSTALL.VMS +62 -0
  164. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/docs/LICENSE.TXT +39 -0
  165. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/docs/MAKEPP +5 -0
  166. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/docs/PROBLEMS +90 -0
  167. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/docs/TODO +40 -0
  168. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/docs/VERSIONS.TXT +127 -0
  169. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/docs/formats.txt +208 -0
  170. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/docs/freetype-config.1 +146 -0
  171. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/docs/raster.txt +635 -0
  172. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/docs/reference/.gitignore +1 -0
  173. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/docs/reference/README +5 -0
  174. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/docs/release +202 -0
  175. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/config/ftconfig.h +571 -0
  176. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/config/ftheader.h +804 -0
  177. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/config/ftmodule.h +32 -0
  178. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/config/ftoption.h +977 -0
  179. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/config/ftstdlib.h +175 -0
  180. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/freetype.h +4657 -0
  181. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftadvanc.h +187 -0
  182. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftbbox.h +101 -0
  183. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftbdf.h +210 -0
  184. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftbitmap.h +240 -0
  185. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftbzip2.h +102 -0
  186. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftcache.h +1042 -0
  187. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftchapters.h +139 -0
  188. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftcid.h +168 -0
  189. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftdriver.h +1225 -0
  190. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/fterrdef.h +280 -0
  191. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/fterrors.h +226 -0
  192. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftfntfmt.h +95 -0
  193. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftgasp.h +142 -0
  194. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftglyph.h +614 -0
  195. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftgxval.h +357 -0
  196. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftgzip.h +151 -0
  197. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftimage.h +1205 -0
  198. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftincrem.h +343 -0
  199. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftlcdfil.h +309 -0
  200. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftlist.h +276 -0
  201. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftlzw.h +99 -0
  202. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftmac.h +275 -0
  203. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftmm.h +638 -0
  204. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftmodapi.h +711 -0
  205. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftmoderr.h +194 -0
  206. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftotval.h +204 -0
  207. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftoutln.h +582 -0
  208. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftparams.h +205 -0
  209. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftpfr.h +172 -0
  210. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftrender.h +233 -0
  211. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftsizes.h +159 -0
  212. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftsnames.h +253 -0
  213. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftstroke.h +785 -0
  214. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftsynth.h +84 -0
  215. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftsystem.h +355 -0
  216. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/fttrigon.h +350 -0
  217. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/fttypes.h +602 -0
  218. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ftwinfnt.h +275 -0
  219. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/autohint.h +244 -0
  220. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/cffotypes.h +108 -0
  221. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/cfftypes.h +412 -0
  222. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/ftcalc.h +444 -0
  223. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/ftdebug.h +255 -0
  224. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/ftdrv.h +400 -0
  225. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/ftgloadr.h +154 -0
  226. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/fthash.h +136 -0
  227. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/ftmemory.h +393 -0
  228. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/ftobjs.h +1625 -0
  229. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/ftpic.h +71 -0
  230. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/ftpsprop.h +48 -0
  231. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/ftrfork.h +267 -0
  232. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/ftserv.h +1016 -0
  233. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/ftstream.h +536 -0
  234. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/fttrace.h +153 -0
  235. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/ftvalid.h +159 -0
  236. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/internal.h +67 -0
  237. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/psaux.h +1372 -0
  238. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/pshints.h +722 -0
  239. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/services/svbdf.h +82 -0
  240. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/services/svcfftl.h +112 -0
  241. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/services/svcid.h +90 -0
  242. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/services/svfntfmt.h +55 -0
  243. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/services/svgldict.h +91 -0
  244. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/services/svgxval.h +72 -0
  245. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/services/svkern.h +51 -0
  246. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/services/svmetric.h +153 -0
  247. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/services/svmm.h +172 -0
  248. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/services/svotval.h +55 -0
  249. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/services/svpfr.h +66 -0
  250. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/services/svpostnm.h +81 -0
  251. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/services/svprop.h +82 -0
  252. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/services/svpscmap.h +177 -0
  253. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/services/svpsinfo.h +111 -0
  254. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/services/svsfnt.h +103 -0
  255. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/services/svttcmap.h +106 -0
  256. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/services/svtteng.h +53 -0
  257. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/services/svttglyf.h +69 -0
  258. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/services/svwinfnt.h +50 -0
  259. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/sfnt.h +784 -0
  260. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/t1types.h +257 -0
  261. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/internal/tttypes.h +1689 -0
  262. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/t1tables.h +770 -0
  263. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/ttnameid.h +1236 -0
  264. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/tttables.h +846 -0
  265. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/freetype/tttags.h +121 -0
  266. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/include/ft2build.h +42 -0
  267. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/modules.cfg +261 -0
  268. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/objs/.gitignore +3 -0
  269. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/objs/README +2 -0
  270. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/Jamfile +19 -0
  271. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/Jamfile +53 -0
  272. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afangles.c +285 -0
  273. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afangles.h +7 -0
  274. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afblue.c +739 -0
  275. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afblue.cin +39 -0
  276. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afblue.dat +1072 -0
  277. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afblue.h +414 -0
  278. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afblue.hin +146 -0
  279. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afcjk.c +2381 -0
  280. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afcjk.h +141 -0
  281. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afcover.h +105 -0
  282. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afdummy.c +75 -0
  283. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afdummy.h +40 -0
  284. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/aferrors.h +42 -0
  285. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afglobal.c +503 -0
  286. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afglobal.h +173 -0
  287. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afhints.c +1659 -0
  288. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afhints.h +481 -0
  289. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afindic.c +157 -0
  290. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afindic.h +41 -0
  291. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/aflatin.c +3590 -0
  292. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/aflatin.h +194 -0
  293. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/aflatin2.c +2427 -0
  294. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/aflatin2.h +46 -0
  295. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afloader.c +721 -0
  296. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afloader.h +91 -0
  297. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afmodule.c +600 -0
  298. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afmodule.h +58 -0
  299. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afpic.c +152 -0
  300. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afpic.h +105 -0
  301. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afranges.c +1033 -0
  302. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afranges.h +47 -0
  303. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afscript.h +390 -0
  304. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afshaper.c +683 -0
  305. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afshaper.h +72 -0
  306. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afstyles.h +475 -0
  307. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/aftypes.h +651 -0
  308. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afwarp.c +373 -0
  309. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afwarp.h +64 -0
  310. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/afwrtsys.h +52 -0
  311. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/autofit.c +39 -0
  312. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/module.mk +23 -0
  313. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/autofit/rules.mk +89 -0
  314. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/Jamfile +89 -0
  315. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/basepic.c +108 -0
  316. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/basepic.h +91 -0
  317. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftadvanc.c +175 -0
  318. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftapi.c +121 -0
  319. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftbase.c +42 -0
  320. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftbase.h +78 -0
  321. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftbbox.c +515 -0
  322. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftbdf.c +91 -0
  323. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftbitmap.c +835 -0
  324. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftcalc.c +1017 -0
  325. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftcid.c +118 -0
  326. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftdbgmem.c +999 -0
  327. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftdebug.c +266 -0
  328. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftfntfmt.c +55 -0
  329. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftfstype.c +62 -0
  330. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftgasp.c +61 -0
  331. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftgloadr.c +406 -0
  332. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftglyph.c +649 -0
  333. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftgxval.c +142 -0
  334. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/fthash.c +339 -0
  335. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftinit.c +376 -0
  336. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftlcdfil.c +383 -0
  337. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftmac.c +1088 -0
  338. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftmm.c +508 -0
  339. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftobjs.c +5405 -0
  340. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftotval.c +91 -0
  341. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftoutln.c +1110 -0
  342. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftpatent.c +51 -0
  343. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftpfr.c +153 -0
  344. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftpic.c +55 -0
  345. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftpsprop.c +285 -0
  346. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftrfork.c +943 -0
  347. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftsnames.c +148 -0
  348. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftstream.c +860 -0
  349. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftstroke.c +2469 -0
  350. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftsynth.c +163 -0
  351. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftsystem.c +320 -0
  352. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/fttrigon.c +526 -0
  353. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/fttype1.c +127 -0
  354. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftutil.c +443 -0
  355. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftver.rc +61 -0
  356. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/ftwinfnt.c +53 -0
  357. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/md5.c +291 -0
  358. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/md5.h +45 -0
  359. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/base/rules.mk +109 -0
  360. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/bdf/Jamfile +31 -0
  361. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/bdf/README +148 -0
  362. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/bdf/bdf.c +35 -0
  363. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/bdf/bdf.h +280 -0
  364. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/bdf/bdfdrivr.c +1006 -0
  365. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/bdf/bdfdrivr.h +80 -0
  366. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/bdf/bdferror.h +45 -0
  367. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/bdf/bdflib.c +2462 -0
  368. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/bdf/module.mk +34 -0
  369. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/bdf/rules.mk +84 -0
  370. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/bzip2/Jamfile +18 -0
  371. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/bzip2/ftbzip2.c +525 -0
  372. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/bzip2/rules.mk +64 -0
  373. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cache/Jamfile +37 -0
  374. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cache/ftcache.c +32 -0
  375. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cache/ftcbasic.c +632 -0
  376. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cache/ftccache.c +621 -0
  377. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cache/ftccache.h +352 -0
  378. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cache/ftccback.h +92 -0
  379. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cache/ftccmap.c +327 -0
  380. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cache/ftcerror.h +42 -0
  381. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cache/ftcglyph.c +219 -0
  382. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cache/ftcglyph.h +329 -0
  383. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cache/ftcimage.c +164 -0
  384. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cache/ftcimage.h +107 -0
  385. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cache/ftcmanag.c +704 -0
  386. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cache/ftcmanag.h +175 -0
  387. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cache/ftcmru.c +357 -0
  388. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cache/ftcmru.h +248 -0
  389. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cache/ftcsbits.c +423 -0
  390. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cache/ftcsbits.h +103 -0
  391. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cache/rules.mk +85 -0
  392. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cff/Jamfile +36 -0
  393. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cff/cff.c +30 -0
  394. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cff/cffcmap.c +229 -0
  395. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cff/cffcmap.h +67 -0
  396. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cff/cffdrivr.c +1143 -0
  397. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cff/cffdrivr.h +38 -0
  398. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cff/cfferrs.h +42 -0
  399. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cff/cffgload.c +683 -0
  400. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cff/cffgload.h +63 -0
  401. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cff/cffload.c +2564 -0
  402. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cff/cffload.h +125 -0
  403. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cff/cffobjs.c +1206 -0
  404. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cff/cffobjs.h +85 -0
  405. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cff/cffparse.c +1694 -0
  406. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cff/cffparse.h +136 -0
  407. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cff/cffpic.c +138 -0
  408. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cff/cffpic.h +121 -0
  409. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cff/cfftoken.h +150 -0
  410. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cff/module.mk +23 -0
  411. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cff/rules.mk +76 -0
  412. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cid/Jamfile +34 -0
  413. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cid/ciderrs.h +41 -0
  414. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cid/cidgload.c +531 -0
  415. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cid/cidgload.h +51 -0
  416. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cid/cidload.c +846 -0
  417. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cid/cidload.h +53 -0
  418. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cid/cidobjs.c +526 -0
  419. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cid/cidobjs.h +154 -0
  420. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cid/cidparse.c +277 -0
  421. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cid/cidparse.h +123 -0
  422. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cid/cidriver.c +256 -0
  423. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cid/cidriver.h +43 -0
  424. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cid/cidtoken.h +112 -0
  425. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cid/module.mk +23 -0
  426. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cid/rules.mk +73 -0
  427. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/cid/type1cid.c +29 -0
  428. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/Jamfile +52 -0
  429. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/README +532 -0
  430. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvalid.c +47 -0
  431. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvalid.h +108 -0
  432. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvbsln.c +334 -0
  433. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvcommn.c +1746 -0
  434. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvcommn.h +582 -0
  435. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxverror.h +51 -0
  436. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvfeat.c +339 -0
  437. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvfeat.h +173 -0
  438. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvfgen.c +483 -0
  439. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvjust.c +719 -0
  440. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvkern.c +920 -0
  441. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvlcar.c +224 -0
  442. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvmod.c +285 -0
  443. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvmod.h +51 -0
  444. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvmort.c +300 -0
  445. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvmort.h +94 -0
  446. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvmort0.c +152 -0
  447. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvmort1.c +260 -0
  448. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvmort2.c +312 -0
  449. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvmort4.c +126 -0
  450. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvmort5.c +234 -0
  451. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvmorx.c +199 -0
  452. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvmorx.h +68 -0
  453. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvmorx0.c +112 -0
  454. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvmorx1.c +278 -0
  455. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvmorx2.c +331 -0
  456. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvmorx4.c +56 -0
  457. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvmorx5.c +226 -0
  458. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvopbd.c +218 -0
  459. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvprop.c +330 -0
  460. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/gxvtrak.c +288 -0
  461. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/module.mk +23 -0
  462. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gxvalid/rules.mk +98 -0
  463. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gzip/Jamfile +16 -0
  464. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gzip/adler32.c +48 -0
  465. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gzip/ftgzip.c +816 -0
  466. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gzip/ftzconf.h +284 -0
  467. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gzip/infblock.c +387 -0
  468. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gzip/infblock.h +36 -0
  469. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gzip/infcodes.c +250 -0
  470. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gzip/infcodes.h +31 -0
  471. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gzip/inffixed.h +151 -0
  472. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gzip/inflate.c +273 -0
  473. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gzip/inftrees.c +468 -0
  474. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gzip/inftrees.h +63 -0
  475. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gzip/infutil.c +86 -0
  476. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gzip/infutil.h +98 -0
  477. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gzip/rules.mk +83 -0
  478. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gzip/zlib.h +830 -0
  479. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gzip/zutil.c +181 -0
  480. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/gzip/zutil.h +215 -0
  481. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/lzw/Jamfile +16 -0
  482. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/lzw/ftlzw.c +420 -0
  483. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/lzw/ftzopen.c +424 -0
  484. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/lzw/ftzopen.h +172 -0
  485. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/lzw/rules.mk +72 -0
  486. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/otvalid/Jamfile +37 -0
  487. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/otvalid/module.mk +23 -0
  488. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/otvalid/otvalid.c +32 -0
  489. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/otvalid/otvalid.h +78 -0
  490. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/otvalid/otvbase.c +345 -0
  491. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/otvalid/otvcommn.c +1096 -0
  492. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/otvalid/otvcommn.h +467 -0
  493. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/otvalid/otverror.h +42 -0
  494. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/otvalid/otvgdef.c +303 -0
  495. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/otvalid/otvgpos.c +1051 -0
  496. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/otvalid/otvgpos.h +36 -0
  497. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/otvalid/otvgsub.c +617 -0
  498. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/otvalid/otvjstf.c +259 -0
  499. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/otvalid/otvmath.c +453 -0
  500. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/otvalid/otvmod.c +282 -0
  501. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/otvalid/otvmod.h +43 -0
  502. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/otvalid/rules.mk +81 -0
  503. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pcf/Jamfile +32 -0
  504. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pcf/README +96 -0
  505. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pcf/module.mk +34 -0
  506. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pcf/pcf.c +36 -0
  507. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pcf/pcf.h +247 -0
  508. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pcf/pcfdrivr.c +869 -0
  509. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pcf/pcfdrivr.h +48 -0
  510. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pcf/pcferror.h +41 -0
  511. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pcf/pcfread.c +1665 -0
  512. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pcf/pcfread.h +45 -0
  513. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pcf/pcfutil.c +104 -0
  514. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pcf/pcfutil.h +55 -0
  515. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pcf/rules.mk +82 -0
  516. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pfr/Jamfile +35 -0
  517. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pfr/module.mk +23 -0
  518. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pfr/pfr.c +30 -0
  519. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pfr/pfrcmap.c +177 -0
  520. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pfr/pfrcmap.h +46 -0
  521. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pfr/pfrdrivr.c +213 -0
  522. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pfr/pfrdrivr.h +43 -0
  523. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pfr/pfrerror.h +41 -0
  524. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pfr/pfrgload.c +851 -0
  525. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pfr/pfrgload.h +49 -0
  526. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pfr/pfrload.c +1049 -0
  527. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pfr/pfrload.h +123 -0
  528. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pfr/pfrobjs.c +600 -0
  529. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pfr/pfrobjs.h +96 -0
  530. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pfr/pfrsbit.c +808 -0
  531. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pfr/pfrsbit.h +37 -0
  532. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pfr/pfrtypes.h +332 -0
  533. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pfr/rules.mk +76 -0
  534. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/Jamfile +45 -0
  535. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/afmparse.c +986 -0
  536. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/afmparse.h +89 -0
  537. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/cffdecode.c +2370 -0
  538. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/cffdecode.h +64 -0
  539. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/module.mk +23 -0
  540. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/psarrst.c +241 -0
  541. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/psarrst.h +100 -0
  542. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/psaux.c +41 -0
  543. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/psauxerr.h +42 -0
  544. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/psauxmod.c +191 -0
  545. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/psauxmod.h +51 -0
  546. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/psblues.c +582 -0
  547. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/psblues.h +185 -0
  548. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/psconv.c +611 -0
  549. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/psconv.h +71 -0
  550. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/pserror.c +52 -0
  551. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/pserror.h +119 -0
  552. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/psfixed.h +95 -0
  553. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/psfont.c +567 -0
  554. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/psfont.h +134 -0
  555. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/psft.c +890 -0
  556. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/psft.h +167 -0
  557. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/psglue.h +144 -0
  558. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/pshints.c +1939 -0
  559. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/pshints.h +288 -0
  560. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/psintrp.c +3040 -0
  561. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/psintrp.h +83 -0
  562. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/psobjs.c +2533 -0
  563. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/psobjs.h +313 -0
  564. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/psread.c +112 -0
  565. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/psread.h +68 -0
  566. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/psstack.c +328 -0
  567. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/psstack.h +121 -0
  568. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/pstypes.h +78 -0
  569. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/rules.mk +89 -0
  570. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/t1cmap.c +371 -0
  571. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/t1cmap.h +105 -0
  572. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/t1decode.c +1988 -0
  573. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psaux/t1decode.h +74 -0
  574. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pshinter/Jamfile +34 -0
  575. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pshinter/module.mk +23 -0
  576. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pshinter/pshalgo.c +2195 -0
  577. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pshinter/pshalgo.h +241 -0
  578. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pshinter/pshglob.c +795 -0
  579. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pshinter/pshglob.h +196 -0
  580. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pshinter/pshinter.c +29 -0
  581. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pshinter/pshmod.c +121 -0
  582. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pshinter/pshmod.h +39 -0
  583. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pshinter/pshnterr.h +41 -0
  584. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pshinter/pshpic.c +76 -0
  585. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pshinter/pshpic.h +63 -0
  586. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pshinter/pshrec.c +1220 -0
  587. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pshinter/pshrec.h +172 -0
  588. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/pshinter/rules.mk +76 -0
  589. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psnames/Jamfile +31 -0
  590. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psnames/module.mk +23 -0
  591. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psnames/psmodule.c +632 -0
  592. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psnames/psmodule.h +38 -0
  593. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psnames/psnamerr.h +42 -0
  594. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psnames/psnames.c +26 -0
  595. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psnames/pspic.c +97 -0
  596. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psnames/pspic.h +68 -0
  597. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psnames/pstables.h +4238 -0
  598. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/psnames/rules.mk +74 -0
  599. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/raster/Jamfile +32 -0
  600. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/raster/ftmisc.h +142 -0
  601. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/raster/ftraster.c +3225 -0
  602. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/raster/ftraster.h +46 -0
  603. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/raster/ftrend1.c +204 -0
  604. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/raster/ftrend1.h +38 -0
  605. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/raster/module.mk +23 -0
  606. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/raster/raster.c +27 -0
  607. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/raster/rasterrs.h +42 -0
  608. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/raster/rastpic.c +89 -0
  609. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/raster/rastpic.h +63 -0
  610. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/raster/rules.mk +73 -0
  611. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/Jamfile +40 -0
  612. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/module.mk +23 -0
  613. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/pngshim.c +456 -0
  614. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/pngshim.h +51 -0
  615. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/rules.mk +81 -0
  616. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/sfdriver.c +1288 -0
  617. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/sfdriver.h +38 -0
  618. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/sferrors.h +41 -0
  619. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/sfnt.c +35 -0
  620. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/sfntpic.c +143 -0
  621. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/sfntpic.h +112 -0
  622. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/sfobjs.c +1804 -0
  623. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/sfobjs.h +59 -0
  624. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/ttbdf.c +257 -0
  625. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/ttbdf.h +50 -0
  626. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/ttcmap.c +3938 -0
  627. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/ttcmap.h +160 -0
  628. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/ttcmapc.h +56 -0
  629. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/ttkern.c +311 -0
  630. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/ttkern.h +52 -0
  631. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/ttload.c +1427 -0
  632. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/ttload.h +112 -0
  633. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/ttmtx.c +326 -0
  634. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/ttmtx.h +55 -0
  635. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/ttpost.c +575 -0
  636. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/ttpost.h +46 -0
  637. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/ttsbit.c +1682 -0
  638. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/sfnt/ttsbit.h +63 -0
  639. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/smooth/Jamfile +32 -0
  640. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/smooth/ftgrays.c +2042 -0
  641. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/smooth/ftgrays.h +58 -0
  642. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/smooth/ftsmerrs.h +42 -0
  643. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/smooth/ftsmooth.c +464 -0
  644. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/smooth/ftsmooth.h +42 -0
  645. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/smooth/ftspic.c +118 -0
  646. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/smooth/ftspic.h +75 -0
  647. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/smooth/module.mk +27 -0
  648. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/smooth/rules.mk +74 -0
  649. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/smooth/smooth.c +27 -0
  650. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/Jamfile +5 -0
  651. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/afblue.pl +551 -0
  652. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/apinames.c +481 -0
  653. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/chktrcmp.py +114 -0
  654. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/cordic.py +33 -0
  655. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/docmaker/.gitignore +1 -0
  656. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/docmaker/content.py +672 -0
  657. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/docmaker/docbeauty.py +111 -0
  658. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/docmaker/docmaker.py +115 -0
  659. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/docmaker/formatter.py +228 -0
  660. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/docmaker/sources.py +410 -0
  661. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/docmaker/tohtml.py +725 -0
  662. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/docmaker/utils.py +127 -0
  663. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/ftfuzzer/README +81 -0
  664. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/ftfuzzer/ftfuzzer.cc +428 -0
  665. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/ftfuzzer/ftmutator.cc +314 -0
  666. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/ftfuzzer/rasterfuzzer.cc +129 -0
  667. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/ftfuzzer/runinput.cc +58 -0
  668. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/ftrandom/Makefile +45 -0
  669. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/ftrandom/README +69 -0
  670. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/ftrandom/ftrandom.c +720 -0
  671. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/glnames.py +5540 -0
  672. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/no-copyright +65 -0
  673. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/test_afm.c +157 -0
  674. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/test_bbox.c +188 -0
  675. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/test_trig.c +258 -0
  676. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/update-copyright +14 -0
  677. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/tools/update-copyright-year +135 -0
  678. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/truetype/Jamfile +37 -0
  679. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/truetype/module.mk +23 -0
  680. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/truetype/rules.mk +77 -0
  681. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/truetype/truetype.c +32 -0
  682. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/truetype/ttdriver.c +666 -0
  683. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/truetype/ttdriver.h +38 -0
  684. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/truetype/tterrors.h +42 -0
  685. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/truetype/ttgload.c +2906 -0
  686. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/truetype/ttgload.h +62 -0
  687. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/truetype/ttgxvar.c +4074 -0
  688. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/truetype/ttgxvar.h +453 -0
  689. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/truetype/ttinterp.c +8551 -0
  690. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/truetype/ttinterp.h +539 -0
  691. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/truetype/ttobjs.c +1440 -0
  692. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/truetype/ttobjs.h +425 -0
  693. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/truetype/ttpic.c +101 -0
  694. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/truetype/ttpic.h +88 -0
  695. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/truetype/ttpload.c +642 -0
  696. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/truetype/ttpload.h +75 -0
  697. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/truetype/ttsubpix.c +1014 -0
  698. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/truetype/ttsubpix.h +111 -0
  699. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type1/Jamfile +35 -0
  700. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type1/module.mk +23 -0
  701. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type1/rules.mk +76 -0
  702. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type1/t1afm.c +415 -0
  703. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type1/t1afm.h +54 -0
  704. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type1/t1driver.c +773 -0
  705. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type1/t1driver.h +42 -0
  706. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type1/t1errors.h +41 -0
  707. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type1/t1gload.c +590 -0
  708. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type1/t1gload.h +53 -0
  709. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type1/t1load.c +2520 -0
  710. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type1/t1load.h +117 -0
  711. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type1/t1objs.c +641 -0
  712. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type1/t1objs.h +160 -0
  713. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type1/t1parse.c +525 -0
  714. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type1/t1parse.h +129 -0
  715. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type1/t1tokens.h +143 -0
  716. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type1/type1.c +30 -0
  717. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type42/Jamfile +32 -0
  718. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type42/module.mk +23 -0
  719. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type42/rules.mk +73 -0
  720. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type42/t42drivr.c +246 -0
  721. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type42/t42drivr.h +43 -0
  722. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type42/t42error.h +41 -0
  723. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type42/t42objs.c +688 -0
  724. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type42/t42objs.h +124 -0
  725. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type42/t42parse.c +1299 -0
  726. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type42/t42parse.h +91 -0
  727. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type42/t42types.h +57 -0
  728. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/type42/type42.c +27 -0
  729. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/winfonts/Jamfile +16 -0
  730. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/winfonts/fnterrs.h +42 -0
  731. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/winfonts/module.mk +23 -0
  732. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/winfonts/rules.mk +68 -0
  733. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/winfonts/winfnt.c +1200 -0
  734. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/src/winfonts/winfnt.h +171 -0
  735. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/version.sed +5 -0
  736. data/vendor/git.savannah.nongnu.org/r/freetype/freetype2/vms_make.com +1286 -0
  737. metadata +800 -0
@@ -0,0 +1,1440 @@
1
+ /***************************************************************************/
2
+ /* */
3
+ /* ttobjs.c */
4
+ /* */
5
+ /* Objects manager (body). */
6
+ /* */
7
+ /* Copyright 1996-2018 by */
8
+ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
9
+ /* */
10
+ /* This file is part of the FreeType project, and may only be used, */
11
+ /* modified, and distributed under the terms of the FreeType project */
12
+ /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
13
+ /* this file you indicate that you have read the license and */
14
+ /* understand and accept it fully. */
15
+ /* */
16
+ /***************************************************************************/
17
+
18
+
19
+ #include <ft2build.h>
20
+ #include FT_INTERNAL_DEBUG_H
21
+ #include FT_INTERNAL_STREAM_H
22
+ #include FT_TRUETYPE_TAGS_H
23
+ #include FT_INTERNAL_SFNT_H
24
+ #include FT_DRIVER_H
25
+
26
+ #include "ttgload.h"
27
+ #include "ttpload.h"
28
+
29
+ #include "tterrors.h"
30
+
31
+ #ifdef TT_USE_BYTECODE_INTERPRETER
32
+ #include "ttinterp.h"
33
+ #endif
34
+
35
+ #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
36
+ #include "ttgxvar.h"
37
+ #endif
38
+
39
+ /*************************************************************************/
40
+ /* */
41
+ /* The macro FT_COMPONENT is used in trace mode. It is an implicit */
42
+ /* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
43
+ /* messages during execution. */
44
+ /* */
45
+ #undef FT_COMPONENT
46
+ #define FT_COMPONENT trace_ttobjs
47
+
48
+
49
+ #ifdef TT_USE_BYTECODE_INTERPRETER
50
+
51
+ /*************************************************************************/
52
+ /* */
53
+ /* GLYPH ZONE FUNCTIONS */
54
+ /* */
55
+ /*************************************************************************/
56
+
57
+
58
+ /*************************************************************************/
59
+ /* */
60
+ /* <Function> */
61
+ /* tt_glyphzone_done */
62
+ /* */
63
+ /* <Description> */
64
+ /* Deallocate a glyph zone. */
65
+ /* */
66
+ /* <Input> */
67
+ /* zone :: A pointer to the target glyph zone. */
68
+ /* */
69
+ FT_LOCAL_DEF( void )
70
+ tt_glyphzone_done( TT_GlyphZone zone )
71
+ {
72
+ FT_Memory memory = zone->memory;
73
+
74
+
75
+ if ( memory )
76
+ {
77
+ FT_FREE( zone->contours );
78
+ FT_FREE( zone->tags );
79
+ FT_FREE( zone->cur );
80
+ FT_FREE( zone->org );
81
+ FT_FREE( zone->orus );
82
+
83
+ zone->max_points = zone->n_points = 0;
84
+ zone->max_contours = zone->n_contours = 0;
85
+ zone->memory = NULL;
86
+ }
87
+ }
88
+
89
+
90
+ /*************************************************************************/
91
+ /* */
92
+ /* <Function> */
93
+ /* tt_glyphzone_new */
94
+ /* */
95
+ /* <Description> */
96
+ /* Allocate a new glyph zone. */
97
+ /* */
98
+ /* <Input> */
99
+ /* memory :: A handle to the current memory object. */
100
+ /* */
101
+ /* maxPoints :: The capacity of glyph zone in points. */
102
+ /* */
103
+ /* maxContours :: The capacity of glyph zone in contours. */
104
+ /* */
105
+ /* <Output> */
106
+ /* zone :: A pointer to the target glyph zone record. */
107
+ /* */
108
+ /* <Return> */
109
+ /* FreeType error code. 0 means success. */
110
+ /* */
111
+ FT_LOCAL_DEF( FT_Error )
112
+ tt_glyphzone_new( FT_Memory memory,
113
+ FT_UShort maxPoints,
114
+ FT_Short maxContours,
115
+ TT_GlyphZone zone )
116
+ {
117
+ FT_Error error;
118
+
119
+
120
+ FT_ZERO( zone );
121
+ zone->memory = memory;
122
+
123
+ if ( FT_NEW_ARRAY( zone->org, maxPoints ) ||
124
+ FT_NEW_ARRAY( zone->cur, maxPoints ) ||
125
+ FT_NEW_ARRAY( zone->orus, maxPoints ) ||
126
+ FT_NEW_ARRAY( zone->tags, maxPoints ) ||
127
+ FT_NEW_ARRAY( zone->contours, maxContours ) )
128
+ {
129
+ tt_glyphzone_done( zone );
130
+ }
131
+ else
132
+ {
133
+ zone->max_points = maxPoints;
134
+ zone->max_contours = maxContours;
135
+ }
136
+
137
+ return error;
138
+ }
139
+ #endif /* TT_USE_BYTECODE_INTERPRETER */
140
+
141
+
142
+ /* Compare the face with a list of well-known `tricky' fonts. */
143
+ /* This list shall be expanded as we find more of them. */
144
+
145
+ static FT_Bool
146
+ tt_check_trickyness_family( FT_String* name )
147
+ {
148
+
149
+ #define TRICK_NAMES_MAX_CHARACTERS 19
150
+ #define TRICK_NAMES_COUNT 26
151
+
152
+ static const char trick_names[TRICK_NAMES_COUNT]
153
+ [TRICK_NAMES_MAX_CHARACTERS + 1] =
154
+ {
155
+ /*
156
+ PostScript names are given in brackets if they differ from the
157
+ family name. The version numbers, together with the copyright or
158
+ release year data, are taken from fonts available to the
159
+ developers.
160
+
161
+ Note that later versions of the fonts might be no longer tricky;
162
+ for example, `MingLiU' version 7.00 (file `mingliu.ttc' from
163
+ Windows 7) is an ordinary TTC with non-tricky subfonts.
164
+ */
165
+
166
+ "cpop", /* dftt-p7.ttf; version 1.00, 1992 [DLJGyShoMedium] */
167
+ "DFGirl-W6-WIN-BF", /* dftt-h6.ttf; version 1.00, 1993 */
168
+ "DFGothic-EB", /* DynaLab Inc. 1992-1995 */
169
+ "DFGyoSho-Lt", /* DynaLab Inc. 1992-1995 */
170
+ "DFHei-Md-HK-BF", /* maybe DynaLab Inc. */
171
+ "DFHSGothic-W5", /* DynaLab Inc. 1992-1995 */
172
+ "DFHSMincho-W3", /* DynaLab Inc. 1992-1995 */
173
+ "DFHSMincho-W7", /* DynaLab Inc. 1992-1995 */
174
+ "DFKaiSho-SB", /* dfkaisb.ttf */
175
+ "DFKaiShu",
176
+ "DFKaiShu-Md-HK-BF", /* maybe DynaLab Inc. */
177
+ "DFKai-SB", /* kaiu.ttf; version 3.00, 1998 [DFKaiShu-SB-Estd-BF] */
178
+ "DFMing-Bd-HK-BF", /* maybe DynaLab Inc. */
179
+ "DLC", /* dftt-m7.ttf; version 1.00, 1993 [DLCMingBold] */
180
+ /* dftt-f5.ttf; version 1.00, 1993 [DLCFongSung] */
181
+ "DLCHayMedium", /* dftt-b5.ttf; version 1.00, 1993 */
182
+ "DLCHayBold", /* dftt-b7.ttf; version 1.00, 1993 */
183
+ "DLCKaiMedium", /* dftt-k5.ttf; version 1.00, 1992 */
184
+ "DLCLiShu", /* dftt-l5.ttf; version 1.00, 1992 */
185
+ "DLCRoundBold", /* dftt-r7.ttf; version 1.00, 1993 */
186
+ "HuaTianKaiTi?", /* htkt2.ttf */
187
+ "HuaTianSongTi?", /* htst3.ttf */
188
+ "Ming(for ISO10646)", /* hkscsiic.ttf; version 0.12, 2007 [Ming] */
189
+ /* iicore.ttf; version 0.07, 2007 [Ming] */
190
+ "MingLiU", /* mingliu.ttf */
191
+ /* mingliu.ttc; version 3.21, 2001 */
192
+ "MingMedium", /* dftt-m5.ttf; version 1.00, 1993 [DLCMingMedium] */
193
+ "PMingLiU", /* mingliu.ttc; version 3.21, 2001 */
194
+ "MingLi43", /* mingli.ttf; version 1.00, 1992 */
195
+ };
196
+
197
+ int nn;
198
+
199
+
200
+ for ( nn = 0; nn < TRICK_NAMES_COUNT; nn++ )
201
+ if ( ft_strstr( name, trick_names[nn] ) )
202
+ return TRUE;
203
+
204
+ return FALSE;
205
+ }
206
+
207
+
208
+ /* XXX: This function should be in the `sfnt' module. */
209
+
210
+ /* Some PDF generators clear the checksums in the TrueType header table. */
211
+ /* For example, Quartz ContextPDF clears all entries, or Bullzip PDF */
212
+ /* Printer clears the entries for subsetted subtables. We thus have to */
213
+ /* recalculate the checksums where necessary. */
214
+
215
+ static FT_UInt32
216
+ tt_synth_sfnt_checksum( FT_Stream stream,
217
+ FT_ULong length )
218
+ {
219
+ FT_Error error;
220
+ FT_UInt32 checksum = 0;
221
+ FT_UInt i;
222
+
223
+
224
+ if ( FT_FRAME_ENTER( length ) )
225
+ return 0;
226
+
227
+ for ( ; length > 3; length -= 4 )
228
+ checksum += (FT_UInt32)FT_GET_ULONG();
229
+
230
+ for ( i = 3; length > 0; length--, i-- )
231
+ checksum += (FT_UInt32)FT_GET_BYTE() << ( i * 8 );
232
+
233
+ FT_FRAME_EXIT();
234
+
235
+ return checksum;
236
+ }
237
+
238
+
239
+ /* XXX: This function should be in the `sfnt' module. */
240
+
241
+ static FT_ULong
242
+ tt_get_sfnt_checksum( TT_Face face,
243
+ FT_UShort i )
244
+ {
245
+ #if 0 /* if we believe the written value, use following part. */
246
+ if ( face->dir_tables[i].CheckSum )
247
+ return face->dir_tables[i].CheckSum;
248
+ #endif
249
+
250
+ if ( !face->goto_table )
251
+ return 0;
252
+
253
+ if ( face->goto_table( face,
254
+ face->dir_tables[i].Tag,
255
+ face->root.stream,
256
+ NULL ) )
257
+ return 0;
258
+
259
+ return (FT_ULong)tt_synth_sfnt_checksum( face->root.stream,
260
+ face->dir_tables[i].Length );
261
+ }
262
+
263
+
264
+ typedef struct tt_sfnt_id_rec_
265
+ {
266
+ FT_ULong CheckSum;
267
+ FT_ULong Length;
268
+
269
+ } tt_sfnt_id_rec;
270
+
271
+
272
+ static FT_Bool
273
+ tt_check_trickyness_sfnt_ids( TT_Face face )
274
+ {
275
+ #define TRICK_SFNT_IDS_PER_FACE 3
276
+ #define TRICK_SFNT_IDS_NUM_FACES 29
277
+
278
+ static const tt_sfnt_id_rec sfnt_id[TRICK_SFNT_IDS_NUM_FACES]
279
+ [TRICK_SFNT_IDS_PER_FACE] = {
280
+
281
+ #define TRICK_SFNT_ID_cvt 0
282
+ #define TRICK_SFNT_ID_fpgm 1
283
+ #define TRICK_SFNT_ID_prep 2
284
+
285
+ { /* MingLiU 1995 */
286
+ { 0x05BCF058UL, 0x000002E4UL }, /* cvt */
287
+ { 0x28233BF1UL, 0x000087C4UL }, /* fpgm */
288
+ { 0xA344A1EAUL, 0x000001E1UL } /* prep */
289
+ },
290
+ { /* MingLiU 1996- */
291
+ { 0x05BCF058UL, 0x000002E4UL }, /* cvt */
292
+ { 0x28233BF1UL, 0x000087C4UL }, /* fpgm */
293
+ { 0xA344A1EBUL, 0x000001E1UL } /* prep */
294
+ },
295
+ { /* DFGothic-EB */
296
+ { 0x12C3EBB2UL, 0x00000350UL }, /* cvt */
297
+ { 0xB680EE64UL, 0x000087A7UL }, /* fpgm */
298
+ { 0xCE939563UL, 0x00000758UL } /* prep */
299
+ },
300
+ { /* DFGyoSho-Lt */
301
+ { 0x11E5EAD4UL, 0x00000350UL }, /* cvt */
302
+ { 0xCE5956E9UL, 0x0000BC85UL }, /* fpgm */
303
+ { 0x8272F416UL, 0x00000045UL } /* prep */
304
+ },
305
+ { /* DFHei-Md-HK-BF */
306
+ { 0x1257EB46UL, 0x00000350UL }, /* cvt */
307
+ { 0xF699D160UL, 0x0000715FUL }, /* fpgm */
308
+ { 0xD222F568UL, 0x000003BCUL } /* prep */
309
+ },
310
+ { /* DFHSGothic-W5 */
311
+ { 0x1262EB4EUL, 0x00000350UL }, /* cvt */
312
+ { 0xE86A5D64UL, 0x00007940UL }, /* fpgm */
313
+ { 0x7850F729UL, 0x000005FFUL } /* prep */
314
+ },
315
+ { /* DFHSMincho-W3 */
316
+ { 0x122DEB0AUL, 0x00000350UL }, /* cvt */
317
+ { 0x3D16328AUL, 0x0000859BUL }, /* fpgm */
318
+ { 0xA93FC33BUL, 0x000002CBUL } /* prep */
319
+ },
320
+ { /* DFHSMincho-W7 */
321
+ { 0x125FEB26UL, 0x00000350UL }, /* cvt */
322
+ { 0xA5ACC982UL, 0x00007EE1UL }, /* fpgm */
323
+ { 0x90999196UL, 0x0000041FUL } /* prep */
324
+ },
325
+ { /* DFKaiShu */
326
+ { 0x11E5EAD4UL, 0x00000350UL }, /* cvt */
327
+ { 0x5A30CA3BUL, 0x00009063UL }, /* fpgm */
328
+ { 0x13A42602UL, 0x0000007EUL } /* prep */
329
+ },
330
+ { /* DFKaiShu, variant */
331
+ { 0x11E5EAD4UL, 0x00000350UL }, /* cvt */
332
+ { 0xA6E78C01UL, 0x00008998UL }, /* fpgm */
333
+ { 0x13A42602UL, 0x0000007EUL } /* prep */
334
+ },
335
+ { /* DFKaiShu-Md-HK-BF */
336
+ { 0x11E5EAD4UL, 0x00000360UL }, /* cvt */
337
+ { 0x9DB282B2UL, 0x0000C06EUL }, /* fpgm */
338
+ { 0x53E6D7CAUL, 0x00000082UL } /* prep */
339
+ },
340
+ { /* DFMing-Bd-HK-BF */
341
+ { 0x1243EB18UL, 0x00000350UL }, /* cvt */
342
+ { 0xBA0A8C30UL, 0x000074ADUL }, /* fpgm */
343
+ { 0xF3D83409UL, 0x0000037BUL } /* prep */
344
+ },
345
+ { /* DLCLiShu */
346
+ { 0x07DCF546UL, 0x00000308UL }, /* cvt */
347
+ { 0x40FE7C90UL, 0x00008E2AUL }, /* fpgm */
348
+ { 0x608174B5UL, 0x0000007AUL } /* prep */
349
+ },
350
+ { /* DLCHayBold */
351
+ { 0xEB891238UL, 0x00000308UL }, /* cvt */
352
+ { 0xD2E4DCD4UL, 0x0000676FUL }, /* fpgm */
353
+ { 0x8EA5F293UL, 0x000003B8UL } /* prep */
354
+ },
355
+ { /* HuaTianKaiTi */
356
+ { 0xFFFBFFFCUL, 0x00000008UL }, /* cvt */
357
+ { 0x9C9E48B8UL, 0x0000BEA2UL }, /* fpgm */
358
+ { 0x70020112UL, 0x00000008UL } /* prep */
359
+ },
360
+ { /* HuaTianSongTi */
361
+ { 0xFFFBFFFCUL, 0x00000008UL }, /* cvt */
362
+ { 0x0A5A0483UL, 0x00017C39UL }, /* fpgm */
363
+ { 0x70020112UL, 0x00000008UL } /* prep */
364
+ },
365
+ { /* NEC fadpop7.ttf */
366
+ { 0x00000000UL, 0x00000000UL }, /* cvt */
367
+ { 0x40C92555UL, 0x000000E5UL }, /* fpgm */
368
+ { 0xA39B58E3UL, 0x0000117CUL } /* prep */
369
+ },
370
+ { /* NEC fadrei5.ttf */
371
+ { 0x00000000UL, 0x00000000UL }, /* cvt */
372
+ { 0x33C41652UL, 0x000000E5UL }, /* fpgm */
373
+ { 0x26D6C52AUL, 0x00000F6AUL } /* prep */
374
+ },
375
+ { /* NEC fangot7.ttf */
376
+ { 0x00000000UL, 0x00000000UL }, /* cvt */
377
+ { 0x6DB1651DUL, 0x0000019DUL }, /* fpgm */
378
+ { 0x6C6E4B03UL, 0x00002492UL } /* prep */
379
+ },
380
+ { /* NEC fangyo5.ttf */
381
+ { 0x00000000UL, 0x00000000UL }, /* cvt */
382
+ { 0x40C92555UL, 0x000000E5UL }, /* fpgm */
383
+ { 0xDE51FAD0UL, 0x0000117CUL } /* prep */
384
+ },
385
+ { /* NEC fankyo5.ttf */
386
+ { 0x00000000UL, 0x00000000UL }, /* cvt */
387
+ { 0x85E47664UL, 0x000000E5UL }, /* fpgm */
388
+ { 0xA6C62831UL, 0x00001CAAUL } /* prep */
389
+ },
390
+ { /* NEC fanrgo5.ttf */
391
+ { 0x00000000UL, 0x00000000UL }, /* cvt */
392
+ { 0x2D891CFDUL, 0x0000019DUL }, /* fpgm */
393
+ { 0xA0604633UL, 0x00001DE8UL } /* prep */
394
+ },
395
+ { /* NEC fangot5.ttc */
396
+ { 0x00000000UL, 0x00000000UL }, /* cvt */
397
+ { 0x40AA774CUL, 0x000001CBUL }, /* fpgm */
398
+ { 0x9B5CAA96UL, 0x00001F9AUL } /* prep */
399
+ },
400
+ { /* NEC fanmin3.ttc */
401
+ { 0x00000000UL, 0x00000000UL }, /* cvt */
402
+ { 0x0D3DE9CBUL, 0x00000141UL }, /* fpgm */
403
+ { 0xD4127766UL, 0x00002280UL } /* prep */
404
+ },
405
+ { /* NEC FA-Gothic, 1996 */
406
+ { 0x00000000UL, 0x00000000UL }, /* cvt */
407
+ { 0x4A692698UL, 0x000001F0UL }, /* fpgm */
408
+ { 0x340D4346UL, 0x00001FCAUL } /* prep */
409
+ },
410
+ { /* NEC FA-Minchou, 1996 */
411
+ { 0x00000000UL, 0x00000000UL }, /* cvt */
412
+ { 0xCD34C604UL, 0x00000166UL }, /* fpgm */
413
+ { 0x6CF31046UL, 0x000022B0UL } /* prep */
414
+ },
415
+ { /* NEC FA-RoundGothicB, 1996 */
416
+ { 0x00000000UL, 0x00000000UL }, /* cvt */
417
+ { 0x5DA75315UL, 0x0000019DUL }, /* fpgm */
418
+ { 0x40745A5FUL, 0x000022E0UL } /* prep */
419
+ },
420
+ { /* NEC FA-RoundGothicM, 1996 */
421
+ { 0x00000000UL, 0x00000000UL }, /* cvt */
422
+ { 0xF055FC48UL, 0x000001C2UL }, /* fpgm */
423
+ { 0x3900DED3UL, 0x00001E18UL } /* prep */
424
+ },
425
+ { /* MINGLI.TTF, 1992 */
426
+ { 0x00170003UL, 0x00000060UL }, /* cvt */
427
+ { 0xDBB4306EUL, 0x000058AAUL }, /* fpgm */
428
+ { 0xD643482AUL, 0x00000035UL } /* prep */
429
+ }
430
+ };
431
+
432
+ FT_ULong checksum;
433
+ int num_matched_ids[TRICK_SFNT_IDS_NUM_FACES];
434
+ FT_Bool has_cvt, has_fpgm, has_prep;
435
+ FT_UShort i;
436
+ int j, k;
437
+
438
+
439
+ FT_MEM_SET( num_matched_ids, 0,
440
+ sizeof ( int ) * TRICK_SFNT_IDS_NUM_FACES );
441
+ has_cvt = FALSE;
442
+ has_fpgm = FALSE;
443
+ has_prep = FALSE;
444
+
445
+ for ( i = 0; i < face->num_tables; i++ )
446
+ {
447
+ checksum = 0;
448
+
449
+ switch( face->dir_tables[i].Tag )
450
+ {
451
+ case TTAG_cvt:
452
+ k = TRICK_SFNT_ID_cvt;
453
+ has_cvt = TRUE;
454
+ break;
455
+
456
+ case TTAG_fpgm:
457
+ k = TRICK_SFNT_ID_fpgm;
458
+ has_fpgm = TRUE;
459
+ break;
460
+
461
+ case TTAG_prep:
462
+ k = TRICK_SFNT_ID_prep;
463
+ has_prep = TRUE;
464
+ break;
465
+
466
+ default:
467
+ continue;
468
+ }
469
+
470
+ for ( j = 0; j < TRICK_SFNT_IDS_NUM_FACES; j++ )
471
+ if ( face->dir_tables[i].Length == sfnt_id[j][k].Length )
472
+ {
473
+ if ( !checksum )
474
+ checksum = tt_get_sfnt_checksum( face, i );
475
+
476
+ if ( sfnt_id[j][k].CheckSum == checksum )
477
+ num_matched_ids[j]++;
478
+
479
+ if ( num_matched_ids[j] == TRICK_SFNT_IDS_PER_FACE )
480
+ return TRUE;
481
+ }
482
+ }
483
+
484
+ for ( j = 0; j < TRICK_SFNT_IDS_NUM_FACES; j++ )
485
+ {
486
+ if ( !has_cvt && !sfnt_id[j][TRICK_SFNT_ID_cvt].Length )
487
+ num_matched_ids[j]++;
488
+ if ( !has_fpgm && !sfnt_id[j][TRICK_SFNT_ID_fpgm].Length )
489
+ num_matched_ids[j]++;
490
+ if ( !has_prep && !sfnt_id[j][TRICK_SFNT_ID_prep].Length )
491
+ num_matched_ids[j]++;
492
+ if ( num_matched_ids[j] == TRICK_SFNT_IDS_PER_FACE )
493
+ return TRUE;
494
+ }
495
+
496
+ return FALSE;
497
+ }
498
+
499
+
500
+ static FT_Bool
501
+ tt_check_trickyness( FT_Face face )
502
+ {
503
+ if ( !face )
504
+ return FALSE;
505
+
506
+ /* For first, check the face name for quick check. */
507
+ if ( face->family_name &&
508
+ tt_check_trickyness_family( face->family_name ) )
509
+ return TRUE;
510
+
511
+ /* Type42 fonts may lack `name' tables, we thus try to identify */
512
+ /* tricky fonts by checking the checksums of Type42-persistent */
513
+ /* sfnt tables (`cvt', `fpgm', and `prep'). */
514
+ if ( tt_check_trickyness_sfnt_ids( (TT_Face)face ) )
515
+ return TRUE;
516
+
517
+ return FALSE;
518
+ }
519
+
520
+
521
+ /* Check whether `.notdef' is the only glyph in the `loca' table. */
522
+ static FT_Bool
523
+ tt_check_single_notdef( FT_Face ttface )
524
+ {
525
+ FT_Bool result = FALSE;
526
+
527
+ TT_Face face = (TT_Face)ttface;
528
+ FT_UInt asize;
529
+ FT_ULong i;
530
+ FT_ULong glyph_index = 0;
531
+ FT_UInt count = 0;
532
+
533
+
534
+ for( i = 0; i < face->num_locations; i++ )
535
+ {
536
+ tt_face_get_location( face, i, &asize );
537
+ if ( asize > 0 )
538
+ {
539
+ count += 1;
540
+ if ( count > 1 )
541
+ break;
542
+ glyph_index = i;
543
+ }
544
+ }
545
+
546
+ /* Only have a single outline. */
547
+ if ( count == 1 )
548
+ {
549
+ if ( glyph_index == 0 )
550
+ result = TRUE;
551
+ else
552
+ {
553
+ /* FIXME: Need to test glyphname == .notdef ? */
554
+ FT_Error error;
555
+ char buf[8];
556
+
557
+
558
+ error = FT_Get_Glyph_Name( ttface, glyph_index, buf, 8 );
559
+ if ( !error &&
560
+ buf[0] == '.' && !ft_strncmp( buf, ".notdef", 8 ) )
561
+ result = TRUE;
562
+ }
563
+ }
564
+
565
+ return result;
566
+ }
567
+
568
+
569
+ /*************************************************************************/
570
+ /* */
571
+ /* <Function> */
572
+ /* tt_face_init */
573
+ /* */
574
+ /* <Description> */
575
+ /* Initialize a given TrueType face object. */
576
+ /* */
577
+ /* <Input> */
578
+ /* stream :: The source font stream. */
579
+ /* */
580
+ /* face_index :: The index of the TrueType font, if we are opening a */
581
+ /* collection, in bits 0-15. The numbered instance */
582
+ /* index~+~1 of a GX (sub)font, if applicable, in bits */
583
+ /* 16-30. */
584
+ /* */
585
+ /* num_params :: Number of additional generic parameters. Ignored. */
586
+ /* */
587
+ /* params :: Additional generic parameters. Ignored. */
588
+ /* */
589
+ /* <InOut> */
590
+ /* face :: The newly built face object. */
591
+ /* */
592
+ /* <Return> */
593
+ /* FreeType error code. 0 means success. */
594
+ /* */
595
+ FT_LOCAL_DEF( FT_Error )
596
+ tt_face_init( FT_Stream stream,
597
+ FT_Face ttface, /* TT_Face */
598
+ FT_Int face_index,
599
+ FT_Int num_params,
600
+ FT_Parameter* params )
601
+ {
602
+ FT_Error error;
603
+ FT_Library library;
604
+ SFNT_Service sfnt;
605
+ TT_Face face = (TT_Face)ttface;
606
+
607
+
608
+ FT_TRACE2(( "TTF driver\n" ));
609
+
610
+ library = ttface->driver->root.library;
611
+
612
+ sfnt = (SFNT_Service)FT_Get_Module_Interface( library, "sfnt" );
613
+ if ( !sfnt )
614
+ {
615
+ FT_ERROR(( "tt_face_init: cannot access `sfnt' module\n" ));
616
+ error = FT_THROW( Missing_Module );
617
+ goto Exit;
618
+ }
619
+
620
+ /* create input stream from resource */
621
+ if ( FT_STREAM_SEEK( 0 ) )
622
+ goto Exit;
623
+
624
+ /* check that we have a valid TrueType file */
625
+ FT_TRACE2(( " " ));
626
+ error = sfnt->init_face( stream, face, face_index, num_params, params );
627
+
628
+ /* Stream may have changed. */
629
+ stream = face->root.stream;
630
+
631
+ if ( error )
632
+ goto Exit;
633
+
634
+ /* We must also be able to accept Mac/GX fonts, as well as OT ones. */
635
+ /* The 0x00020000 tag is completely undocumented; some fonts from */
636
+ /* Arphic made for Chinese Windows 3.1 have this. */
637
+ if ( face->format_tag != 0x00010000L && /* MS fonts */
638
+ face->format_tag != 0x00020000L && /* CJK fonts for Win 3.1 */
639
+ face->format_tag != TTAG_true && /* Mac fonts */
640
+ face->format_tag != TTAG_0xA5kbd && /* `Keyboard.dfont' (legacy Mac OS X) */
641
+ face->format_tag != TTAG_0xA5lst ) /* `LastResort.dfont' (legacy Mac OS X) */
642
+ {
643
+ FT_TRACE2(( " not a TTF font\n" ));
644
+ goto Bad_Format;
645
+ }
646
+
647
+ #ifdef TT_USE_BYTECODE_INTERPRETER
648
+ ttface->face_flags |= FT_FACE_FLAG_HINTER;
649
+ #endif
650
+
651
+ /* If we are performing a simple font format check, exit immediately. */
652
+ if ( face_index < 0 )
653
+ return FT_Err_Ok;
654
+
655
+ /* Load font directory */
656
+ error = sfnt->load_face( stream, face, face_index, num_params, params );
657
+ if ( error )
658
+ goto Exit;
659
+
660
+ if ( tt_check_trickyness( ttface ) )
661
+ ttface->face_flags |= FT_FACE_FLAG_TRICKY;
662
+
663
+ error = tt_face_load_hdmx( face, stream );
664
+ if ( error )
665
+ goto Exit;
666
+
667
+ if ( FT_IS_SCALABLE( ttface ) )
668
+ {
669
+ #ifdef FT_CONFIG_OPTION_INCREMENTAL
670
+ if ( !ttface->internal->incremental_interface )
671
+ #endif
672
+ {
673
+ error = tt_face_load_loca( face, stream );
674
+
675
+ /* having a (non-zero) `glyf' table without */
676
+ /* a `loca' table is not valid */
677
+ if ( face->glyf_len && FT_ERR_EQ( error, Table_Missing ) )
678
+ goto Exit;
679
+ if ( error )
680
+ goto Exit;
681
+ }
682
+
683
+ /* `fpgm', `cvt', and `prep' are optional */
684
+ error = tt_face_load_cvt( face, stream );
685
+ if ( error && FT_ERR_NEQ( error, Table_Missing ) )
686
+ goto Exit;
687
+
688
+ error = tt_face_load_fpgm( face, stream );
689
+ if ( error && FT_ERR_NEQ( error, Table_Missing ) )
690
+ goto Exit;
691
+
692
+ error = tt_face_load_prep( face, stream );
693
+ if ( error && FT_ERR_NEQ( error, Table_Missing ) )
694
+ goto Exit;
695
+
696
+ /* Check the scalable flag based on `loca'. */
697
+ #ifdef FT_CONFIG_OPTION_INCREMENTAL
698
+ if ( !ttface->internal->incremental_interface )
699
+ #endif
700
+ {
701
+ if ( ttface->num_fixed_sizes &&
702
+ face->glyph_locations &&
703
+ tt_check_single_notdef( ttface ) )
704
+ {
705
+ FT_TRACE5(( "tt_face_init:"
706
+ " Only the `.notdef' glyph has an outline.\n"
707
+ " "
708
+ " Resetting scalable flag to FALSE.\n" ));
709
+
710
+ ttface->face_flags &= ~FT_FACE_FLAG_SCALABLE;
711
+ }
712
+ }
713
+ }
714
+
715
+ #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
716
+
717
+ {
718
+ FT_UInt instance_index = (FT_UInt)face_index >> 16;
719
+
720
+
721
+ if ( FT_HAS_MULTIPLE_MASTERS( ttface ) &&
722
+ instance_index > 0 )
723
+ {
724
+ error = TT_Set_Named_Instance( face, instance_index );
725
+ if ( error )
726
+ goto Exit;
727
+
728
+ tt_apply_mvar( face );
729
+ }
730
+ }
731
+
732
+ #endif /* TT_CONFIG_OPTION_GX_VAR_SUPPORT */
733
+
734
+ /* initialize standard glyph loading routines */
735
+ TT_Init_Glyph_Loading( face );
736
+
737
+ Exit:
738
+ return error;
739
+
740
+ Bad_Format:
741
+ error = FT_THROW( Unknown_File_Format );
742
+ goto Exit;
743
+ }
744
+
745
+
746
+ /*************************************************************************/
747
+ /* */
748
+ /* <Function> */
749
+ /* tt_face_done */
750
+ /* */
751
+ /* <Description> */
752
+ /* Finalize a given face object. */
753
+ /* */
754
+ /* <Input> */
755
+ /* face :: A pointer to the face object to destroy. */
756
+ /* */
757
+ FT_LOCAL_DEF( void )
758
+ tt_face_done( FT_Face ttface ) /* TT_Face */
759
+ {
760
+ TT_Face face = (TT_Face)ttface;
761
+ FT_Memory memory;
762
+ FT_Stream stream;
763
+ SFNT_Service sfnt;
764
+
765
+
766
+ if ( !face )
767
+ return;
768
+
769
+ memory = ttface->memory;
770
+ stream = ttface->stream;
771
+ sfnt = (SFNT_Service)face->sfnt;
772
+
773
+ /* for `extended TrueType formats' (i.e. compressed versions) */
774
+ if ( face->extra.finalizer )
775
+ face->extra.finalizer( face->extra.data );
776
+
777
+ if ( sfnt )
778
+ sfnt->done_face( face );
779
+
780
+ /* freeing the locations table */
781
+ tt_face_done_loca( face );
782
+
783
+ tt_face_free_hdmx( face );
784
+
785
+ /* freeing the CVT */
786
+ FT_FREE( face->cvt );
787
+ face->cvt_size = 0;
788
+
789
+ /* freeing the programs */
790
+ FT_FRAME_RELEASE( face->font_program );
791
+ FT_FRAME_RELEASE( face->cvt_program );
792
+ face->font_program_size = 0;
793
+ face->cvt_program_size = 0;
794
+
795
+ #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
796
+ tt_done_blend( face );
797
+ face->blend = NULL;
798
+ #endif
799
+ }
800
+
801
+
802
+ /*************************************************************************/
803
+ /* */
804
+ /* SIZE FUNCTIONS */
805
+ /* */
806
+ /*************************************************************************/
807
+
808
+ #ifdef TT_USE_BYTECODE_INTERPRETER
809
+
810
+ /*************************************************************************/
811
+ /* */
812
+ /* <Function> */
813
+ /* tt_size_run_fpgm */
814
+ /* */
815
+ /* <Description> */
816
+ /* Run the font program. */
817
+ /* */
818
+ /* <Input> */
819
+ /* size :: A handle to the size object. */
820
+ /* */
821
+ /* pedantic :: Set if bytecode execution should be pedantic. */
822
+ /* */
823
+ /* <Return> */
824
+ /* FreeType error code. 0 means success. */
825
+ /* */
826
+ FT_LOCAL_DEF( FT_Error )
827
+ tt_size_run_fpgm( TT_Size size,
828
+ FT_Bool pedantic )
829
+ {
830
+ TT_Face face = (TT_Face)size->root.face;
831
+ TT_ExecContext exec;
832
+ FT_Error error;
833
+
834
+
835
+ exec = size->context;
836
+
837
+ error = TT_Load_Context( exec, face, size );
838
+ if ( error )
839
+ return error;
840
+
841
+ exec->callTop = 0;
842
+ exec->top = 0;
843
+
844
+ exec->period = 64;
845
+ exec->phase = 0;
846
+ exec->threshold = 0;
847
+
848
+ exec->instruction_trap = FALSE;
849
+ exec->F_dot_P = 0x4000L;
850
+
851
+ exec->pedantic_hinting = pedantic;
852
+
853
+ {
854
+ FT_Size_Metrics* size_metrics = &exec->metrics;
855
+ TT_Size_Metrics* tt_metrics = &exec->tt_metrics;
856
+
857
+
858
+ size_metrics->x_ppem = 0;
859
+ size_metrics->y_ppem = 0;
860
+ size_metrics->x_scale = 0;
861
+ size_metrics->y_scale = 0;
862
+
863
+ tt_metrics->ppem = 0;
864
+ tt_metrics->scale = 0;
865
+ tt_metrics->ratio = 0x10000L;
866
+ }
867
+
868
+ /* allow font program execution */
869
+ TT_Set_CodeRange( exec,
870
+ tt_coderange_font,
871
+ face->font_program,
872
+ (FT_Long)face->font_program_size );
873
+
874
+ /* disable CVT and glyph programs coderange */
875
+ TT_Clear_CodeRange( exec, tt_coderange_cvt );
876
+ TT_Clear_CodeRange( exec, tt_coderange_glyph );
877
+
878
+ if ( face->font_program_size > 0 )
879
+ {
880
+ TT_Goto_CodeRange( exec, tt_coderange_font, 0 );
881
+
882
+ FT_TRACE4(( "Executing `fpgm' table.\n" ));
883
+ error = face->interpreter( exec );
884
+ #ifdef FT_DEBUG_LEVEL_TRACE
885
+ if ( error )
886
+ FT_TRACE4(( " interpretation failed with error code 0x%x\n",
887
+ error ));
888
+ #endif
889
+ }
890
+ else
891
+ error = FT_Err_Ok;
892
+
893
+ size->bytecode_ready = error;
894
+
895
+ if ( !error )
896
+ TT_Save_Context( exec, size );
897
+
898
+ return error;
899
+ }
900
+
901
+
902
+ /*************************************************************************/
903
+ /* */
904
+ /* <Function> */
905
+ /* tt_size_run_prep */
906
+ /* */
907
+ /* <Description> */
908
+ /* Run the control value program. */
909
+ /* */
910
+ /* <Input> */
911
+ /* size :: A handle to the size object. */
912
+ /* */
913
+ /* pedantic :: Set if bytecode execution should be pedantic. */
914
+ /* */
915
+ /* <Return> */
916
+ /* FreeType error code. 0 means success. */
917
+ /* */
918
+ FT_LOCAL_DEF( FT_Error )
919
+ tt_size_run_prep( TT_Size size,
920
+ FT_Bool pedantic )
921
+ {
922
+ TT_Face face = (TT_Face)size->root.face;
923
+ TT_ExecContext exec;
924
+ FT_Error error;
925
+
926
+
927
+ exec = size->context;
928
+
929
+ error = TT_Load_Context( exec, face, size );
930
+ if ( error )
931
+ return error;
932
+
933
+ exec->callTop = 0;
934
+ exec->top = 0;
935
+
936
+ exec->instruction_trap = FALSE;
937
+
938
+ exec->pedantic_hinting = pedantic;
939
+
940
+ TT_Set_CodeRange( exec,
941
+ tt_coderange_cvt,
942
+ face->cvt_program,
943
+ (FT_Long)face->cvt_program_size );
944
+
945
+ TT_Clear_CodeRange( exec, tt_coderange_glyph );
946
+
947
+ if ( face->cvt_program_size > 0 )
948
+ {
949
+ TT_Goto_CodeRange( exec, tt_coderange_cvt, 0 );
950
+
951
+ FT_TRACE4(( "Executing `prep' table.\n" ));
952
+ error = face->interpreter( exec );
953
+ #ifdef FT_DEBUG_LEVEL_TRACE
954
+ if ( error )
955
+ FT_TRACE4(( " interpretation failed with error code 0x%x\n",
956
+ error ));
957
+ #endif
958
+ }
959
+ else
960
+ error = FT_Err_Ok;
961
+
962
+ size->cvt_ready = error;
963
+
964
+ /* UNDOCUMENTED! The MS rasterizer doesn't allow the following */
965
+ /* graphics state variables to be modified by the CVT program. */
966
+
967
+ exec->GS.dualVector.x = 0x4000;
968
+ exec->GS.dualVector.y = 0;
969
+ exec->GS.projVector.x = 0x4000;
970
+ exec->GS.projVector.y = 0x0;
971
+ exec->GS.freeVector.x = 0x4000;
972
+ exec->GS.freeVector.y = 0x0;
973
+
974
+ exec->GS.rp0 = 0;
975
+ exec->GS.rp1 = 0;
976
+ exec->GS.rp2 = 0;
977
+
978
+ exec->GS.gep0 = 1;
979
+ exec->GS.gep1 = 1;
980
+ exec->GS.gep2 = 1;
981
+
982
+ exec->GS.loop = 1;
983
+
984
+ /* save as default graphics state */
985
+ size->GS = exec->GS;
986
+
987
+ TT_Save_Context( exec, size );
988
+
989
+ return error;
990
+ }
991
+
992
+
993
+ static void
994
+ tt_size_done_bytecode( FT_Size ftsize )
995
+ {
996
+ TT_Size size = (TT_Size)ftsize;
997
+ TT_Face face = (TT_Face)ftsize->face;
998
+ FT_Memory memory = face->root.memory;
999
+
1000
+ if ( size->context )
1001
+ {
1002
+ TT_Done_Context( size->context );
1003
+ size->context = NULL;
1004
+ }
1005
+
1006
+ FT_FREE( size->cvt );
1007
+ size->cvt_size = 0;
1008
+
1009
+ /* free storage area */
1010
+ FT_FREE( size->storage );
1011
+ size->storage_size = 0;
1012
+
1013
+ /* twilight zone */
1014
+ tt_glyphzone_done( &size->twilight );
1015
+
1016
+ FT_FREE( size->function_defs );
1017
+ FT_FREE( size->instruction_defs );
1018
+
1019
+ size->num_function_defs = 0;
1020
+ size->max_function_defs = 0;
1021
+ size->num_instruction_defs = 0;
1022
+ size->max_instruction_defs = 0;
1023
+
1024
+ size->max_func = 0;
1025
+ size->max_ins = 0;
1026
+
1027
+ size->bytecode_ready = -1;
1028
+ size->cvt_ready = -1;
1029
+ }
1030
+
1031
+
1032
+ /* Initialize bytecode-related fields in the size object. */
1033
+ /* We do this only if bytecode interpretation is really needed. */
1034
+ static FT_Error
1035
+ tt_size_init_bytecode( FT_Size ftsize,
1036
+ FT_Bool pedantic )
1037
+ {
1038
+ FT_Error error;
1039
+ TT_Size size = (TT_Size)ftsize;
1040
+ TT_Face face = (TT_Face)ftsize->face;
1041
+ FT_Memory memory = face->root.memory;
1042
+
1043
+ FT_UShort n_twilight;
1044
+ TT_MaxProfile* maxp = &face->max_profile;
1045
+
1046
+
1047
+ /* clean up bytecode related data */
1048
+ FT_FREE( size->function_defs );
1049
+ FT_FREE( size->instruction_defs );
1050
+ FT_FREE( size->cvt );
1051
+ FT_FREE( size->storage );
1052
+
1053
+ if ( size->context )
1054
+ TT_Done_Context( size->context );
1055
+ tt_glyphzone_done( &size->twilight );
1056
+
1057
+ size->bytecode_ready = -1;
1058
+ size->cvt_ready = -1;
1059
+
1060
+ size->context = TT_New_Context( (TT_Driver)face->root.driver );
1061
+
1062
+ size->max_function_defs = maxp->maxFunctionDefs;
1063
+ size->max_instruction_defs = maxp->maxInstructionDefs;
1064
+
1065
+ size->num_function_defs = 0;
1066
+ size->num_instruction_defs = 0;
1067
+
1068
+ size->max_func = 0;
1069
+ size->max_ins = 0;
1070
+
1071
+ size->cvt_size = face->cvt_size;
1072
+ size->storage_size = maxp->maxStorage;
1073
+
1074
+ /* Set default metrics */
1075
+ {
1076
+ TT_Size_Metrics* tt_metrics = &size->ttmetrics;
1077
+
1078
+
1079
+ tt_metrics->rotated = FALSE;
1080
+ tt_metrics->stretched = FALSE;
1081
+
1082
+ /* set default engine compensation */
1083
+ tt_metrics->compensations[0] = 0; /* gray */
1084
+ tt_metrics->compensations[1] = 0; /* black */
1085
+ tt_metrics->compensations[2] = 0; /* white */
1086
+ tt_metrics->compensations[3] = 0; /* reserved */
1087
+ }
1088
+
1089
+ /* allocate function defs, instruction defs, cvt, and storage area */
1090
+ if ( FT_NEW_ARRAY( size->function_defs, size->max_function_defs ) ||
1091
+ FT_NEW_ARRAY( size->instruction_defs, size->max_instruction_defs ) ||
1092
+ FT_NEW_ARRAY( size->cvt, size->cvt_size ) ||
1093
+ FT_NEW_ARRAY( size->storage, size->storage_size ) )
1094
+ goto Exit;
1095
+
1096
+ /* reserve twilight zone */
1097
+ n_twilight = maxp->maxTwilightPoints;
1098
+
1099
+ /* there are 4 phantom points (do we need this?) */
1100
+ n_twilight += 4;
1101
+
1102
+ error = tt_glyphzone_new( memory, n_twilight, 0, &size->twilight );
1103
+ if ( error )
1104
+ goto Exit;
1105
+
1106
+ size->twilight.n_points = n_twilight;
1107
+
1108
+ size->GS = tt_default_graphics_state;
1109
+
1110
+ /* set `face->interpreter' according to the debug hook present */
1111
+ {
1112
+ FT_Library library = face->root.driver->root.library;
1113
+
1114
+
1115
+ face->interpreter = (TT_Interpreter)
1116
+ library->debug_hooks[FT_DEBUG_HOOK_TRUETYPE];
1117
+ if ( !face->interpreter )
1118
+ face->interpreter = (TT_Interpreter)TT_RunIns;
1119
+ }
1120
+
1121
+ /* Fine, now run the font program! */
1122
+
1123
+ /* In case of an error while executing `fpgm', we intentionally don't */
1124
+ /* clean up immediately – bugs in the `fpgm' are so fundamental that */
1125
+ /* all following hinting calls should fail. Additionally, `fpgm' is */
1126
+ /* to be executed just once; calling it again is completely useless */
1127
+ /* and might even lead to extremely slow behaviour if it is malformed */
1128
+ /* (containing an infinite loop, for example). */
1129
+ error = tt_size_run_fpgm( size, pedantic );
1130
+ return error;
1131
+
1132
+ Exit:
1133
+ if ( error )
1134
+ tt_size_done_bytecode( ftsize );
1135
+
1136
+ return error;
1137
+ }
1138
+
1139
+
1140
+ FT_LOCAL_DEF( FT_Error )
1141
+ tt_size_ready_bytecode( TT_Size size,
1142
+ FT_Bool pedantic )
1143
+ {
1144
+ FT_Error error = FT_Err_Ok;
1145
+
1146
+
1147
+ if ( size->bytecode_ready < 0 )
1148
+ error = tt_size_init_bytecode( (FT_Size)size, pedantic );
1149
+ else
1150
+ error = size->bytecode_ready;
1151
+
1152
+ if ( error )
1153
+ goto Exit;
1154
+
1155
+ /* rescale CVT when needed */
1156
+ if ( size->cvt_ready < 0 )
1157
+ {
1158
+ FT_UInt i;
1159
+ TT_Face face = (TT_Face)size->root.face;
1160
+
1161
+
1162
+ /* Scale the cvt values to the new ppem. */
1163
+ /* We use by default the y ppem to scale the CVT. */
1164
+ for ( i = 0; i < size->cvt_size; i++ )
1165
+ size->cvt[i] = FT_MulFix( face->cvt[i], size->ttmetrics.scale );
1166
+
1167
+ /* all twilight points are originally zero */
1168
+ for ( i = 0; i < (FT_UInt)size->twilight.n_points; i++ )
1169
+ {
1170
+ size->twilight.org[i].x = 0;
1171
+ size->twilight.org[i].y = 0;
1172
+ size->twilight.cur[i].x = 0;
1173
+ size->twilight.cur[i].y = 0;
1174
+ }
1175
+
1176
+ /* clear storage area */
1177
+ for ( i = 0; i < (FT_UInt)size->storage_size; i++ )
1178
+ size->storage[i] = 0;
1179
+
1180
+ size->GS = tt_default_graphics_state;
1181
+
1182
+ error = tt_size_run_prep( size, pedantic );
1183
+ }
1184
+ else
1185
+ error = size->cvt_ready;
1186
+
1187
+ Exit:
1188
+ return error;
1189
+ }
1190
+
1191
+ #endif /* TT_USE_BYTECODE_INTERPRETER */
1192
+
1193
+
1194
+ /*************************************************************************/
1195
+ /* */
1196
+ /* <Function> */
1197
+ /* tt_size_init */
1198
+ /* */
1199
+ /* <Description> */
1200
+ /* Initialize a new TrueType size object. */
1201
+ /* */
1202
+ /* <InOut> */
1203
+ /* size :: A handle to the size object. */
1204
+ /* */
1205
+ /* <Return> */
1206
+ /* FreeType error code. 0 means success. */
1207
+ /* */
1208
+ FT_LOCAL_DEF( FT_Error )
1209
+ tt_size_init( FT_Size ttsize ) /* TT_Size */
1210
+ {
1211
+ TT_Size size = (TT_Size)ttsize;
1212
+ FT_Error error = FT_Err_Ok;
1213
+
1214
+
1215
+ #ifdef TT_USE_BYTECODE_INTERPRETER
1216
+ size->bytecode_ready = -1;
1217
+ size->cvt_ready = -1;
1218
+ #endif
1219
+
1220
+ size->ttmetrics.valid = FALSE;
1221
+ size->strike_index = 0xFFFFFFFFUL;
1222
+
1223
+ return error;
1224
+ }
1225
+
1226
+
1227
+ /*************************************************************************/
1228
+ /* */
1229
+ /* <Function> */
1230
+ /* tt_size_done */
1231
+ /* */
1232
+ /* <Description> */
1233
+ /* The TrueType size object finalizer. */
1234
+ /* */
1235
+ /* <Input> */
1236
+ /* size :: A handle to the target size object. */
1237
+ /* */
1238
+ FT_LOCAL_DEF( void )
1239
+ tt_size_done( FT_Size ttsize ) /* TT_Size */
1240
+ {
1241
+ TT_Size size = (TT_Size)ttsize;
1242
+
1243
+
1244
+ #ifdef TT_USE_BYTECODE_INTERPRETER
1245
+ tt_size_done_bytecode( ttsize );
1246
+ #endif
1247
+
1248
+ size->ttmetrics.valid = FALSE;
1249
+ }
1250
+
1251
+
1252
+ /*************************************************************************/
1253
+ /* */
1254
+ /* <Function> */
1255
+ /* tt_size_reset */
1256
+ /* */
1257
+ /* <Description> */
1258
+ /* Reset a TrueType size when resolutions and character dimensions */
1259
+ /* have been changed. */
1260
+ /* */
1261
+ /* <Input> */
1262
+ /* size :: A handle to the target size object. */
1263
+ /* */
1264
+ /* only_height :: Only recompute ascender, descender, and height; */
1265
+ /* this flag is used for variation fonts where */
1266
+ /* `tt_size_reset' is used as an iterator function. */
1267
+ /* */
1268
+ FT_LOCAL_DEF( FT_Error )
1269
+ tt_size_reset( TT_Size size,
1270
+ FT_Bool only_height )
1271
+ {
1272
+ TT_Face face;
1273
+ FT_Size_Metrics* size_metrics;
1274
+
1275
+
1276
+ face = (TT_Face)size->root.face;
1277
+
1278
+ /* nothing to do for CFF2 */
1279
+ if ( face->is_cff2 )
1280
+ return FT_Err_Ok;
1281
+
1282
+ size->ttmetrics.valid = FALSE;
1283
+
1284
+ size_metrics = &size->hinted_metrics;
1285
+
1286
+ /* copy the result from base layer */
1287
+ *size_metrics = size->root.metrics;
1288
+
1289
+ if ( size_metrics->x_ppem < 1 || size_metrics->y_ppem < 1 )
1290
+ return FT_THROW( Invalid_PPem );
1291
+
1292
+ /* This bit flag, if set, indicates that the ppems must be */
1293
+ /* rounded to integers. Nearly all TrueType fonts have this bit */
1294
+ /* set, as hinting won't work really well otherwise. */
1295
+ /* */
1296
+ if ( face->header.Flags & 8 )
1297
+ {
1298
+ /* the TT spec always asks for ROUND, not FLOOR or CEIL */
1299
+ size_metrics->ascender = FT_PIX_ROUND(
1300
+ FT_MulFix( face->root.ascender,
1301
+ size_metrics->y_scale ) );
1302
+ size_metrics->descender = FT_PIX_ROUND(
1303
+ FT_MulFix( face->root.descender,
1304
+ size_metrics->y_scale ) );
1305
+ size_metrics->height = FT_PIX_ROUND(
1306
+ FT_MulFix( face->root.height,
1307
+ size_metrics->y_scale ) );
1308
+ }
1309
+
1310
+ size->ttmetrics.valid = TRUE;
1311
+
1312
+ if ( only_height )
1313
+ {
1314
+ /* we must not recompute the scaling values here since */
1315
+ /* `tt_size_reset' was already called (with only_height = 0) */
1316
+ return FT_Err_Ok;
1317
+ }
1318
+
1319
+ if ( face->header.Flags & 8 )
1320
+ {
1321
+ /* base scaling values on integer ppem values, */
1322
+ /* as mandated by the TrueType specification */
1323
+ size_metrics->x_scale = FT_DivFix( size_metrics->x_ppem << 6,
1324
+ face->root.units_per_EM );
1325
+ size_metrics->y_scale = FT_DivFix( size_metrics->y_ppem << 6,
1326
+ face->root.units_per_EM );
1327
+
1328
+ size_metrics->max_advance = FT_PIX_ROUND(
1329
+ FT_MulFix( face->root.max_advance_width,
1330
+ size_metrics->x_scale ) );
1331
+ }
1332
+
1333
+ /* compute new transformation */
1334
+ if ( size_metrics->x_ppem >= size_metrics->y_ppem )
1335
+ {
1336
+ size->ttmetrics.scale = size_metrics->x_scale;
1337
+ size->ttmetrics.ppem = size_metrics->x_ppem;
1338
+ size->ttmetrics.x_ratio = 0x10000L;
1339
+ size->ttmetrics.y_ratio = FT_DivFix( size_metrics->y_ppem,
1340
+ size_metrics->x_ppem );
1341
+ }
1342
+ else
1343
+ {
1344
+ size->ttmetrics.scale = size_metrics->y_scale;
1345
+ size->ttmetrics.ppem = size_metrics->y_ppem;
1346
+ size->ttmetrics.x_ratio = FT_DivFix( size_metrics->x_ppem,
1347
+ size_metrics->y_ppem );
1348
+ size->ttmetrics.y_ratio = 0x10000L;
1349
+ }
1350
+
1351
+ size->metrics = size_metrics;
1352
+
1353
+ #ifdef TT_USE_BYTECODE_INTERPRETER
1354
+ size->cvt_ready = -1;
1355
+ #endif /* TT_USE_BYTECODE_INTERPRETER */
1356
+
1357
+ return FT_Err_Ok;
1358
+ }
1359
+
1360
+
1361
+ /*************************************************************************/
1362
+ /* */
1363
+ /* <Function> */
1364
+ /* tt_driver_init */
1365
+ /* */
1366
+ /* <Description> */
1367
+ /* Initialize a given TrueType driver object. */
1368
+ /* */
1369
+ /* <Input> */
1370
+ /* driver :: A handle to the target driver object. */
1371
+ /* */
1372
+ /* <Return> */
1373
+ /* FreeType error code. 0 means success. */
1374
+ /* */
1375
+ FT_LOCAL_DEF( FT_Error )
1376
+ tt_driver_init( FT_Module ttdriver ) /* TT_Driver */
1377
+ {
1378
+
1379
+ #ifdef TT_USE_BYTECODE_INTERPRETER
1380
+
1381
+ TT_Driver driver = (TT_Driver)ttdriver;
1382
+
1383
+ driver->interpreter_version = TT_INTERPRETER_VERSION_35;
1384
+ #ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
1385
+ driver->interpreter_version = TT_INTERPRETER_VERSION_38;
1386
+ #endif
1387
+ #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
1388
+ driver->interpreter_version = TT_INTERPRETER_VERSION_40;
1389
+ #endif
1390
+
1391
+ #else /* !TT_USE_BYTECODE_INTERPRETER */
1392
+
1393
+ FT_UNUSED( ttdriver );
1394
+
1395
+ #endif /* !TT_USE_BYTECODE_INTERPRETER */
1396
+
1397
+ return FT_Err_Ok;
1398
+ }
1399
+
1400
+
1401
+ /*************************************************************************/
1402
+ /* */
1403
+ /* <Function> */
1404
+ /* tt_driver_done */
1405
+ /* */
1406
+ /* <Description> */
1407
+ /* Finalize a given TrueType driver. */
1408
+ /* */
1409
+ /* <Input> */
1410
+ /* driver :: A handle to the target TrueType driver. */
1411
+ /* */
1412
+ FT_LOCAL_DEF( void )
1413
+ tt_driver_done( FT_Module ttdriver ) /* TT_Driver */
1414
+ {
1415
+ FT_UNUSED( ttdriver );
1416
+ }
1417
+
1418
+
1419
+ /*************************************************************************/
1420
+ /* */
1421
+ /* <Function> */
1422
+ /* tt_slot_init */
1423
+ /* */
1424
+ /* <Description> */
1425
+ /* Initialize a new slot object. */
1426
+ /* */
1427
+ /* <InOut> */
1428
+ /* slot :: A handle to the slot object. */
1429
+ /* */
1430
+ /* <Return> */
1431
+ /* FreeType error code. 0 means success. */
1432
+ /* */
1433
+ FT_LOCAL_DEF( FT_Error )
1434
+ tt_slot_init( FT_GlyphSlot slot )
1435
+ {
1436
+ return FT_GlyphLoader_CreateExtra( slot->internal->loader );
1437
+ }
1438
+
1439
+
1440
+ /* END */