laag-harfbuzz 1.7.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (876) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +57 -0
  3. data/LICENSE.txt +36 -0
  4. data/README.org +34 -0
  5. data/ext/laag/harfbuzz/extconf.rb +16 -0
  6. data/laag-harfbuzz.gemspec +20 -0
  7. data/lib/laag/harfbuzz.rb +29 -0
  8. data/vendor/github.com/harfbuzz/harfbuzz/.ci/deploy-docs.sh +36 -0
  9. data/vendor/github.com/harfbuzz/harfbuzz/.ci/fail.sh +18 -0
  10. data/vendor/github.com/harfbuzz/harfbuzz/.ci/run-coveralls.sh +14 -0
  11. data/vendor/github.com/harfbuzz/harfbuzz/.ci/trigger-coverity.sh +11 -0
  12. data/vendor/github.com/harfbuzz/harfbuzz/.circleci/config.yml +190 -0
  13. data/vendor/github.com/harfbuzz/harfbuzz/.editorconfig +18 -0
  14. data/vendor/github.com/harfbuzz/harfbuzz/.travis.yml +89 -0
  15. data/vendor/github.com/harfbuzz/harfbuzz/AUTHORS +9 -0
  16. data/vendor/github.com/harfbuzz/harfbuzz/BUILD.md +50 -0
  17. data/vendor/github.com/harfbuzz/harfbuzz/CMakeLists.txt +848 -0
  18. data/vendor/github.com/harfbuzz/harfbuzz/COPYING +36 -0
  19. data/vendor/github.com/harfbuzz/harfbuzz/Makefile.am +85 -0
  20. data/vendor/github.com/harfbuzz/harfbuzz/NEWS +1832 -0
  21. data/vendor/github.com/harfbuzz/harfbuzz/README +16 -0
  22. data/vendor/github.com/harfbuzz/harfbuzz/README.md +1 -0
  23. data/vendor/github.com/harfbuzz/harfbuzz/README.python +30 -0
  24. data/vendor/github.com/harfbuzz/harfbuzz/RELEASING.md +99 -0
  25. data/vendor/github.com/harfbuzz/harfbuzz/THANKS +7 -0
  26. data/vendor/github.com/harfbuzz/harfbuzz/TODO +42 -0
  27. data/vendor/github.com/harfbuzz/harfbuzz/appveyor.yml +61 -0
  28. data/vendor/github.com/harfbuzz/harfbuzz/autogen.sh +48 -0
  29. data/vendor/github.com/harfbuzz/harfbuzz/configure.ac +542 -0
  30. data/vendor/github.com/harfbuzz/harfbuzz/docs/HarfBuzz.png +0 -0
  31. data/vendor/github.com/harfbuzz/harfbuzz/docs/HarfBuzz.svg +277 -0
  32. data/vendor/github.com/harfbuzz/harfbuzz/docs/Makefile.am +123 -0
  33. data/vendor/github.com/harfbuzz/harfbuzz/docs/harfbuzz-docs.xml +210 -0
  34. data/vendor/github.com/harfbuzz/harfbuzz/docs/harfbuzz-overrides.txt +0 -0
  35. data/vendor/github.com/harfbuzz/harfbuzz/docs/harfbuzz-sections.txt +627 -0
  36. data/vendor/github.com/harfbuzz/harfbuzz/docs/usermanual-buffers-language-script-and-direction.xml +77 -0
  37. data/vendor/github.com/harfbuzz/harfbuzz/docs/usermanual-clusters.xml +304 -0
  38. data/vendor/github.com/harfbuzz/harfbuzz/docs/usermanual-fonts-and-faces.xml +18 -0
  39. data/vendor/github.com/harfbuzz/harfbuzz/docs/usermanual-glyph-information.xml +8 -0
  40. data/vendor/github.com/harfbuzz/harfbuzz/docs/usermanual-hello-harfbuzz.xml +183 -0
  41. data/vendor/github.com/harfbuzz/harfbuzz/docs/usermanual-install-harfbuzz.xml +70 -0
  42. data/vendor/github.com/harfbuzz/harfbuzz/docs/usermanual-opentype-features.xml +13 -0
  43. data/vendor/github.com/harfbuzz/harfbuzz/docs/usermanual-what-is-harfbuzz.xml +115 -0
  44. data/vendor/github.com/harfbuzz/harfbuzz/docs/version.xml.in +1 -0
  45. data/vendor/github.com/harfbuzz/harfbuzz/git.mk +400 -0
  46. data/vendor/github.com/harfbuzz/harfbuzz/harfbuzz.doap +24 -0
  47. data/vendor/github.com/harfbuzz/harfbuzz/m4/ax_code_coverage.m4 +264 -0
  48. data/vendor/github.com/harfbuzz/harfbuzz/m4/ax_cxx_compile_stdcxx.m4 +982 -0
  49. data/vendor/github.com/harfbuzz/harfbuzz/m4/ax_pthread.m4 +485 -0
  50. data/vendor/github.com/harfbuzz/harfbuzz/m4/pkg.m4 +157 -0
  51. data/vendor/github.com/harfbuzz/harfbuzz/mingw32.sh +22 -0
  52. data/vendor/github.com/harfbuzz/harfbuzz/mingw64.sh +22 -0
  53. data/vendor/github.com/harfbuzz/harfbuzz/replace-enum-strings.cmake +21 -0
  54. data/vendor/github.com/harfbuzz/harfbuzz/src/Makefile.am +445 -0
  55. data/vendor/github.com/harfbuzz/harfbuzz/src/Makefile.sources +214 -0
  56. data/vendor/github.com/harfbuzz/harfbuzz/src/check-c-linkage-decls.sh +27 -0
  57. data/vendor/github.com/harfbuzz/harfbuzz/src/check-externs.sh +22 -0
  58. data/vendor/github.com/harfbuzz/harfbuzz/src/check-header-guards.sh +24 -0
  59. data/vendor/github.com/harfbuzz/harfbuzz/src/check-includes.sh +44 -0
  60. data/vendor/github.com/harfbuzz/harfbuzz/src/check-libstdc++.sh +44 -0
  61. data/vendor/github.com/harfbuzz/harfbuzz/src/check-static-inits.sh +40 -0
  62. data/vendor/github.com/harfbuzz/harfbuzz/src/check-symbols.sh +62 -0
  63. data/vendor/github.com/harfbuzz/harfbuzz/src/dev-run.sh +98 -0
  64. data/vendor/github.com/harfbuzz/harfbuzz/src/dump-indic-data.cc +43 -0
  65. data/vendor/github.com/harfbuzz/harfbuzz/src/dump-khmer-data.cc +43 -0
  66. data/vendor/github.com/harfbuzz/harfbuzz/src/dump-myanmar-data.cc +43 -0
  67. data/vendor/github.com/harfbuzz/harfbuzz/src/dump-use-data.cc +38 -0
  68. data/vendor/github.com/harfbuzz/harfbuzz/src/gen-arabic-table.py +269 -0
  69. data/vendor/github.com/harfbuzz/harfbuzz/src/gen-def.py +19 -0
  70. data/vendor/github.com/harfbuzz/harfbuzz/src/gen-indic-table.py +260 -0
  71. data/vendor/github.com/harfbuzz/harfbuzz/src/gen-unicode-ranges.py +52 -0
  72. data/vendor/github.com/harfbuzz/harfbuzz/src/gen-use-table.py +484 -0
  73. data/vendor/github.com/harfbuzz/harfbuzz/src/harfbuzz-config.cmake.in +82 -0
  74. data/vendor/github.com/harfbuzz/harfbuzz/src/harfbuzz-gobject.pc.in +12 -0
  75. data/vendor/github.com/harfbuzz/harfbuzz/src/harfbuzz-icu.pc.in +13 -0
  76. data/vendor/github.com/harfbuzz/harfbuzz/src/harfbuzz-subset.pc.in +12 -0
  77. data/vendor/github.com/harfbuzz/harfbuzz/src/harfbuzz.pc.in +13 -0
  78. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-aat-layout-ankr-table.hh +80 -0
  79. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-aat-layout-common-private.hh +728 -0
  80. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-aat-layout-kerx-table.hh +339 -0
  81. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-aat-layout-morx-table.hh +728 -0
  82. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-aat-layout-private.hh +43 -0
  83. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-aat-layout-trak-table.hh +201 -0
  84. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-aat-layout.cc +143 -0
  85. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-atomic-private.hh +189 -0
  86. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-blob.cc +504 -0
  87. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-blob.h +129 -0
  88. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-buffer-deserialize-json.hh +643 -0
  89. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-buffer-deserialize-json.rl +132 -0
  90. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-buffer-deserialize-text.hh +571 -0
  91. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-buffer-deserialize-text.rl +126 -0
  92. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-buffer-private.hh +388 -0
  93. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-buffer-serialize.cc +486 -0
  94. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-buffer.cc +2010 -0
  95. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-buffer.h +562 -0
  96. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-common.cc +1050 -0
  97. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-common.h +397 -0
  98. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-coretext.cc +1401 -0
  99. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-coretext.h +64 -0
  100. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-debug.hh +444 -0
  101. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-deprecated.h +65 -0
  102. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-directwrite.cc +931 -0
  103. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-directwrite.h +38 -0
  104. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-dsalgs.hh +161 -0
  105. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-face-private.hh +111 -0
  106. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-face.cc +506 -0
  107. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-face.h +121 -0
  108. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-fallback-shape.cc +149 -0
  109. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-font-private.hh +561 -0
  110. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-font.cc +1846 -0
  111. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-font.h +641 -0
  112. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ft.cc +783 -0
  113. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ft.h +132 -0
  114. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-glib.cc +431 -0
  115. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-glib.h +56 -0
  116. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-gobject-enums.cc.tmpl +73 -0
  117. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-gobject-enums.h.tmpl +56 -0
  118. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-gobject-structs.cc +83 -0
  119. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-gobject-structs.h +138 -0
  120. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-gobject.h +40 -0
  121. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-graphite2.cc +421 -0
  122. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-graphite2.h +52 -0
  123. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-icu.cc +394 -0
  124. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-icu.h +52 -0
  125. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-mutex-private.hh +141 -0
  126. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-object-private.hh +196 -0
  127. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-open-file-private.hh +372 -0
  128. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-open-type-private.hh +1238 -0
  129. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-cmap-table.hh +789 -0
  130. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-color-cbdt-table.hh +471 -0
  131. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-color-colr-table.hh +142 -0
  132. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-color-cpal-table.hh +208 -0
  133. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-color.cc +183 -0
  134. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-font.cc +281 -0
  135. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-font.h +45 -0
  136. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-glyf-table.hh +473 -0
  137. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-hdmx-table.hh +198 -0
  138. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-head-table.hh +154 -0
  139. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-hhea-table.hh +98 -0
  140. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-hmtx-table.hh +328 -0
  141. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-kern-table.hh +394 -0
  142. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-layout-base-table.hh +655 -0
  143. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-layout-common-private.hh +1773 -0
  144. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-layout-gdef-table.hh +459 -0
  145. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-layout-gpos-table.hh +1654 -0
  146. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-layout-gsub-table.hh +1364 -0
  147. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-layout-gsubgpos-private.hh +2374 -0
  148. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-layout-jstf-table.hh +234 -0
  149. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-layout-private.hh +683 -0
  150. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-layout.cc +1313 -0
  151. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-layout.h +338 -0
  152. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-map-private.hh +250 -0
  153. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-map.cc +336 -0
  154. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-math-table.hh +722 -0
  155. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-math.cc +253 -0
  156. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-math.h +209 -0
  157. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-maxp-table.hh +148 -0
  158. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-name-table.hh +138 -0
  159. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-os2-table.hh +181 -0
  160. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-os2-unicode-ranges.hh +247 -0
  161. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-post-macroman.hh +294 -0
  162. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-post-table.hh +282 -0
  163. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-arabic-fallback.hh +354 -0
  164. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-arabic-private.hh +50 -0
  165. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-arabic-table.hh +398 -0
  166. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-arabic-win1256.hh +323 -0
  167. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-arabic.cc +721 -0
  168. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-default.cc +46 -0
  169. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-hangul.cc +431 -0
  170. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-hebrew.cc +186 -0
  171. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-indic-machine.hh +1319 -0
  172. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-indic-machine.rl +125 -0
  173. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-indic-private.hh +401 -0
  174. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-indic-table.cc +486 -0
  175. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-indic.cc +1569 -0
  176. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-khmer-machine.hh +294 -0
  177. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-khmer-machine.rl +107 -0
  178. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-khmer-private.hh +124 -0
  179. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-khmer.cc +835 -0
  180. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-myanmar-machine.hh +413 -0
  181. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-myanmar-machine.rl +129 -0
  182. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-myanmar-private.hh +171 -0
  183. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-myanmar.cc +401 -0
  184. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-private.hh +397 -0
  185. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-thai.cc +383 -0
  186. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-tibetan.cc +63 -0
  187. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-use-machine.hh +502 -0
  188. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-use-machine.rl +176 -0
  189. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-use-private.hh +97 -0
  190. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-use-table.cc +788 -0
  191. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-complex-use.cc +612 -0
  192. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-fallback-private.hh +53 -0
  193. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-fallback.cc +559 -0
  194. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-normalize-private.hh +69 -0
  195. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-normalize.cc +433 -0
  196. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape-private.hh +108 -0
  197. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape.cc +970 -0
  198. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-shape.h +53 -0
  199. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-tag.cc +1094 -0
  200. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-tag.h +59 -0
  201. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-var-avar-table.hh +149 -0
  202. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-var-fvar-table.hh +209 -0
  203. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-var-hvar-table.hh +165 -0
  204. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-var-mvar-table.hh +114 -0
  205. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-var.cc +159 -0
  206. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot-var.h +105 -0
  207. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ot.h +45 -0
  208. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-private.hh +1073 -0
  209. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-set-digest-private.hh +179 -0
  210. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-set-private.hh +658 -0
  211. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-set.cc +519 -0
  212. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-set.h +165 -0
  213. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-shape-plan-private.hh +67 -0
  214. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-shape-plan.cc +578 -0
  215. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-shape-plan.h +108 -0
  216. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-shape.cc +161 -0
  217. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-shape.h +62 -0
  218. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-shaper-impl-private.hh +43 -0
  219. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-shaper-list.hh +58 -0
  220. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-shaper-private.hh +124 -0
  221. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-shaper.cc +111 -0
  222. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-string-array.hh +81 -0
  223. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-subset-glyf.cc +307 -0
  224. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-subset-glyf.hh +40 -0
  225. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-subset-input.cc +119 -0
  226. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-subset-plan.cc +227 -0
  227. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-subset-plan.hh +85 -0
  228. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-subset-private.hh +62 -0
  229. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-subset.cc +339 -0
  230. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-subset.h +83 -0
  231. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ucdn.cc +273 -0
  232. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ucdn/COPYING +13 -0
  233. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ucdn/Makefile.am +16 -0
  234. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ucdn/Makefile.sources +7 -0
  235. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ucdn/README +40 -0
  236. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ucdn/ucdn.c +360 -0
  237. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ucdn/ucdn.h +453 -0
  238. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-ucdn/ucdn_db.h +5540 -0
  239. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-unicode-private.hh +371 -0
  240. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-unicode.cc +563 -0
  241. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-unicode.h +471 -0
  242. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-uniscribe.cc +1039 -0
  243. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-uniscribe.h +46 -0
  244. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-utf-private.hh +282 -0
  245. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-version.h +66 -0
  246. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-version.h.in +66 -0
  247. data/vendor/github.com/harfbuzz/harfbuzz/src/hb-warning.cc +39 -0
  248. data/vendor/github.com/harfbuzz/harfbuzz/src/hb.h +51 -0
  249. data/vendor/github.com/harfbuzz/harfbuzz/src/main.cc +201 -0
  250. data/vendor/github.com/harfbuzz/harfbuzz/src/sample.py +78 -0
  251. data/vendor/github.com/harfbuzz/harfbuzz/src/test-buffer-serialize.cc +129 -0
  252. data/vendor/github.com/harfbuzz/harfbuzz/src/test-size-params.cc +94 -0
  253. data/vendor/github.com/harfbuzz/harfbuzz/src/test-unicode-ranges.cc +67 -0
  254. data/vendor/github.com/harfbuzz/harfbuzz/src/test-would-substitute.cc +104 -0
  255. data/vendor/github.com/harfbuzz/harfbuzz/src/test.cc +134 -0
  256. data/vendor/github.com/harfbuzz/harfbuzz/test/CMakeLists.txt +4 -0
  257. data/vendor/github.com/harfbuzz/harfbuzz/test/Makefile.am +15 -0
  258. data/vendor/github.com/harfbuzz/harfbuzz/test/api/.valgrind-suppressions +0 -0
  259. data/vendor/github.com/harfbuzz/harfbuzz/test/api/CMakeLists.txt +29 -0
  260. data/vendor/github.com/harfbuzz/harfbuzz/test/api/Makefile.am +169 -0
  261. data/vendor/github.com/harfbuzz/harfbuzz/test/api/fonts/Inconsolata-Regular.ab.ttf +0 -0
  262. data/vendor/github.com/harfbuzz/harfbuzz/test/api/fonts/Inconsolata-Regular.abc.ttf +0 -0
  263. data/vendor/github.com/harfbuzz/harfbuzz/test/api/fonts/Inconsolata-Regular.abc.widerc.ttf +0 -0
  264. data/vendor/github.com/harfbuzz/harfbuzz/test/api/fonts/Inconsolata-Regular.ac.ttf +0 -0
  265. data/vendor/github.com/harfbuzz/harfbuzz/test/api/fonts/Inconsolata-Regular.ac.widerc.ttf +0 -0
  266. data/vendor/github.com/harfbuzz/harfbuzz/test/api/fonts/MathTestFontEmpty.otf +0 -0
  267. data/vendor/github.com/harfbuzz/harfbuzz/test/api/fonts/MathTestFontFull.otf +0 -0
  268. data/vendor/github.com/harfbuzz/harfbuzz/test/api/fonts/MathTestFontNone.otf +0 -0
  269. data/vendor/github.com/harfbuzz/harfbuzz/test/api/fonts/MathTestFontPartial1.otf +0 -0
  270. data/vendor/github.com/harfbuzz/harfbuzz/test/api/fonts/MathTestFontPartial2.otf +0 -0
  271. data/vendor/github.com/harfbuzz/harfbuzz/test/api/fonts/MathTestFontPartial3.otf +0 -0
  272. data/vendor/github.com/harfbuzz/harfbuzz/test/api/fonts/MathTestFontPartial4.otf +0 -0
  273. data/vendor/github.com/harfbuzz/harfbuzz/test/api/fonts/README +3 -0
  274. data/vendor/github.com/harfbuzz/harfbuzz/test/api/fonts/Roboto-Regular.abc.cmap-format12-only.ttf +0 -0
  275. data/vendor/github.com/harfbuzz/harfbuzz/test/api/fonts/Roboto-Regular.abc.ttf +0 -0
  276. data/vendor/github.com/harfbuzz/harfbuzz/test/api/fonts/Roboto-Regular.ac.cmap-format12-only.ttf +0 -0
  277. data/vendor/github.com/harfbuzz/harfbuzz/test/api/fonts/Roboto-Regular.ac.nohints.ttf +0 -0
  278. data/vendor/github.com/harfbuzz/harfbuzz/test/api/fonts/Roboto-Regular.ac.ttf +0 -0
  279. data/vendor/github.com/harfbuzz/harfbuzz/test/api/fonts/Roboto-Regular.b.ttf +0 -0
  280. data/vendor/github.com/harfbuzz/harfbuzz/test/api/fonts/Roboto-Regular.components.1fc.nohints.ttf +0 -0
  281. data/vendor/github.com/harfbuzz/harfbuzz/test/api/fonts/Roboto-Regular.components.subset.ttf +0 -0
  282. data/vendor/github.com/harfbuzz/harfbuzz/test/api/fonts/Roboto-Regular.components.ttf +0 -0
  283. data/vendor/github.com/harfbuzz/harfbuzz/test/api/hb-subset-test.h +136 -0
  284. data/vendor/github.com/harfbuzz/harfbuzz/test/api/hb-test.h +314 -0
  285. data/vendor/github.com/harfbuzz/harfbuzz/test/api/test-blob.c +349 -0
  286. data/vendor/github.com/harfbuzz/harfbuzz/test/api/test-buffer.c +884 -0
  287. data/vendor/github.com/harfbuzz/harfbuzz/test/api/test-c.c +64 -0
  288. data/vendor/github.com/harfbuzz/harfbuzz/test/api/test-common.c +225 -0
  289. data/vendor/github.com/harfbuzz/harfbuzz/test/api/test-cplusplus.cc +30 -0
  290. data/vendor/github.com/harfbuzz/harfbuzz/test/api/test-font.c +550 -0
  291. data/vendor/github.com/harfbuzz/harfbuzz/test/api/test-object.c +375 -0
  292. data/vendor/github.com/harfbuzz/harfbuzz/test/api/test-ot-color.c +319 -0
  293. data/vendor/github.com/harfbuzz/harfbuzz/test/api/test-ot-math.c +712 -0
  294. data/vendor/github.com/harfbuzz/harfbuzz/test/api/test-ot-tag.c +320 -0
  295. data/vendor/github.com/harfbuzz/harfbuzz/test/api/test-set.c +399 -0
  296. data/vendor/github.com/harfbuzz/harfbuzz/test/api/test-shape.c +208 -0
  297. data/vendor/github.com/harfbuzz/harfbuzz/test/api/test-subset-cmap.c +82 -0
  298. data/vendor/github.com/harfbuzz/harfbuzz/test/api/test-subset-glyf.c +183 -0
  299. data/vendor/github.com/harfbuzz/harfbuzz/test/api/test-subset-hdmx.c +81 -0
  300. data/vendor/github.com/harfbuzz/harfbuzz/test/api/test-subset-hmtx.c +162 -0
  301. data/vendor/github.com/harfbuzz/harfbuzz/test/api/test-subset-os2.c +59 -0
  302. data/vendor/github.com/harfbuzz/harfbuzz/test/api/test-unicode.c +937 -0
  303. data/vendor/github.com/harfbuzz/harfbuzz/test/api/test-version.c +81 -0
  304. data/vendor/github.com/harfbuzz/harfbuzz/test/fuzzing/CMakeLists.txt +18 -0
  305. data/vendor/github.com/harfbuzz/harfbuzz/test/fuzzing/Makefile.am +52 -0
  306. data/vendor/github.com/harfbuzz/harfbuzz/test/fuzzing/README +21 -0
  307. data/vendor/github.com/harfbuzz/harfbuzz/test/fuzzing/hb-fuzzer.cc +52 -0
  308. data/vendor/github.com/harfbuzz/harfbuzz/test/fuzzing/hb-fuzzer.hh +4 -0
  309. data/vendor/github.com/harfbuzz/harfbuzz/test/fuzzing/main.cc +21 -0
  310. data/vendor/github.com/harfbuzz/harfbuzz/test/fuzzing/run-fuzzer-tests.py +32 -0
  311. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/CMakeLists.txt +17 -0
  312. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/Makefile.am +35 -0
  313. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/README.md +41 -0
  314. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/Makefile.am +13 -0
  315. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/COPYING +95 -0
  316. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/Makefile.am +20 -0
  317. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/Makefile.sources +47 -0
  318. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/0509e80afb379d16560e9e47bdd7d888bebdebc6.ttf +0 -0
  319. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/051d92f8bc6ff724511b296c27623f824de256e9.ttf +0 -0
  320. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/074a5ae6b19de8f29772fdd5df2d3d833f81f5e6.ttf +0 -0
  321. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/07f054357ff8638bac3711b422a1e31180bba863.ttf +0 -0
  322. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/15dfc433a135a658b9f4b1a861b5cdd9658ccbb9.ttf +0 -0
  323. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/1735326da89f0818cd8c51a0600e9789812c0f94.ttf +0 -0
  324. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/191826b9643e3f124d865d617ae609db6a2ce203.ttf +0 -0
  325. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/1a3d8f381387dd29be1e897e4b5100ac8b4829e1.ttf +0 -0
  326. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/1a6f1687b7a221f9f2c834b0b360d3c8463b6daf.ttf +0 -0
  327. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/1c04a16f32a39c26c851b7fc014d2e8d298ba2b8.ttf +0 -0
  328. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/1c2c3fc37b2d4c3cb2ef726c6cdaaabd4b7f3eb9.ttf +0 -0
  329. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/1c2fb74c1b2aa173262734c1f616148f1648cfd6.ttf +0 -0
  330. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/1ed7e9064f008f62de6ff0207bb4dd29409597a5.ttf +0 -0
  331. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/205edd09bd3d141cc9580f650109556cc28b22cb.ttf +0 -0
  332. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/217a934cfe15c548b572c203dceb2befdf026462.ttf +0 -0
  333. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/21b7fb9c1eeae260473809fbc1fe330f66a507cd.ttf +0 -0
  334. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/226bc2deab3846f1a682085f70c67d0421014144.ttf +0 -0
  335. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/233c1e252e737ca79e03a9fd56b71aaa4a230f2b.ttf +0 -0
  336. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/243798dd281c1c77c065958e1ff467420faa9bde.ttf +0 -0
  337. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/24b8d24d00ae86f49791b746da4c9d3f717a51a8.ttf +0 -0
  338. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/270b89df543a7e48e206a2d830c0e10e5265c630.ttf +0 -0
  339. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/298c9e1d955f10f6f72c6915c3c6ff9bf9695cec.ttf +0 -0
  340. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/2de1ab4907ab688c0cfc236b0bf51151db38bf2e.ttf +0 -0
  341. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/319f5d7ebffbefc5c5e6569f8cea73444d7a7268.ttf +0 -0
  342. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/341421e629668b1a1242245d39238ca48432d35d.ttf +0 -0
  343. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/3493e92eaded2661cadde752a39f9d58b11f0326.ttf +0 -0
  344. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/3511ff5c1647150595846ac414c595cccac34f18.ttf +0 -0
  345. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/37033cc5cf37bb223d7355153016b6ccece93b28.ttf +0 -0
  346. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/373e67bf41ca264e260a9716162b71a23549e885.ttf +0 -0
  347. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/375d6ae32a3cbe52fbf81a4e5777e3377675d5a3.ttf +0 -0
  348. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/3cae6bfe5b57c07ba81ddbd54c02fe4f3a1e3bf6.ttf +0 -0
  349. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/3d0b77a2360aa6faa1385aaa510509ab70dfbeff.ttf +0 -0
  350. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/43979b90b2dd929723cf4fe1715990bcb9c9a56b.ttf +0 -0
  351. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/43ef465752be9af900745f72fe29cb853a1401a5.ttf +0 -0
  352. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/45855bc8d46332b39c4ab9e2ee1a26b1f896da6b.ttf +0 -0
  353. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/49c9f7485c1392fa09a1b801bc2ffea79275f22e.ttf +0 -0
  354. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/4cce528e99f600ed9c25a2b69e32eb94a03b4ae8.ttf +0 -0
  355. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/4fac3929fc3332834e93673780ec0fe94342d193.ttf +0 -0
  356. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/5028afb650b1bb718ed2131e872fbcce57828fff.ttf +0 -0
  357. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/53374c7ca3657be37efde7ed02ae34229a56ae1f.ttf +0 -0
  358. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/54674a3111d209fb6be0ed31745314b7a8d2c244.ttf +0 -0
  359. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/558661aa659912f4d30ecd27bd09835171a8e2b0.ttf +0 -0
  360. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/55c88ebbe938680b08f92c3de20713183e0c7481.ttf +0 -0
  361. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/56cfd0e18d07f41c38e9598545a6d369127fc6f9.ttf +0 -0
  362. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/573d3a3177c9a8646e94c8a0d7b224334340946a.ttf +0 -0
  363. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/57a9d9f83020155cbb1d2be1f43d82388cbecc88.ttf +0 -0
  364. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/59a585a63b3df608fbeef00956c8c108deec7de6.ttf +0 -0
  365. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/5a5daf5eb5a4db77a2baa3ad9c7a6ed6e0655fa8.ttf +0 -0
  366. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/5dfad7735c6a67085f1b90d4d497e32907db4c78.ttf +0 -0
  367. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/641bd9db850193064d17575053ae2bf8ec149ddc.ttf +0 -0
  368. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/663aef6b019dbf45ffd74089e2b5f2496ceceb18.ttf +0 -0
  369. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/6991b13ce889466be6de3f66e891de2bc0f117ee.ttf +0 -0
  370. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/6ff0fbead4462d9f229167b4e6839eceb8465058.ttf +0 -0
  371. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/706c5d7b625f207bc0d874c67237aad6f1e9cd6f.ttf +0 -0
  372. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/757ebd573617a24aa9dfbf0b885c54875c6fe06b.ttf +0 -0
  373. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/7a37dc4d5bf018456aea291cee06daf004c0221c.ttf +0 -0
  374. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/7e14e7883ed152baa158b80e207b66114c823a8b.ttf +0 -0
  375. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/8099955657a54e9ee38a6ba1d6f950ce58e3cc25.ttf +0 -0
  376. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/813c2f8e5512187fd982417a7fb4286728e6f4a8.ttf +0 -0
  377. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/81c368a33816fb20e9f647e8f24e2180f4720263.ttf +0 -0
  378. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/8228d035fcd65d62ec9728fb34f42c63be93a5d3.ttf +0 -0
  379. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/8240789f6d12d4cfc4b5e8e6f246c3701bcf861f.ttf +0 -0
  380. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/82f4f3b57bb55344e72e70231380202a52af5805.ttf +0 -0
  381. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/8454d22037f892e76614e1645d066689a0200e61.ttf +0 -0
  382. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/85414f2552b654585b7a8d13dcc3e8fd9f7970a3.ttf +0 -0
  383. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/856ff9562451293cbeff6f396d4e3877c4f0a436.ttf +0 -0
  384. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/85fe0be440c64ac77699e21c2f1bd933a919167e.ttf +0 -0
  385. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/87f85d17d26f1fe9ad28d7365101958edaefb967.ttf +0 -0
  386. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/8a9fea2a7384f2116e5b84a9b31f83be7850ce21.ttf +0 -0
  387. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/94a5d6fb15a27521fba9ea4aee9cb39b2d03322a.ttf +0 -0
  388. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/96490dd2ff81233b335a650e7eb660e0e7b2eeea.ttf +0 -0
  389. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/98b7887cff91f722b92a8ff800120954606354f9.ttf +0 -0
  390. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/9d8a94a67932a3ab75a596fc8b5c6d0392ca9e49.ttf +0 -0
  391. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/a014549f766436cf55b2ceb40e462038938ee899.ttf +0 -0
  392. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/a02a7f0ad42c2922cb37ad1358c9df4eb81f1bca.ttf +0 -0
  393. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/a34a7b00f22ffb5fd7eef6933b81c7e71bc2cdfb.ttf +0 -0
  394. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/a34a9191d9376bda419836effeef7e75c1386016.ttf +0 -0
  395. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/a69118c2c2ada48ff803d9149daa54c9ebdae30e.ttf +0 -0
  396. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/a6c76d1bafde4a0b1026ebcc932d2e5c6fd02442.ttf +0 -0
  397. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/a919b33197965846f21074b24e30250d67277bce.ttf +0 -0
  398. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/a98e908e2ed21b22228ea59ebcc0f05034c86f2e.ttf +0 -0
  399. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/af3086380b743099c54a3b11b96766039ea62fcd.ttf +0 -0
  400. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/b151cfcdaa77585d77f17a42158e0873fc8e2633.ttf +0 -0
  401. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/b6acef662e0beb8d5fcf5b61c6b0ca69537b7402.ttf +0 -0
  402. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/b9e2aaa0d75fcef6971ec3a96d806ba4a6b31fe2.ttf +0 -0
  403. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/bb0c53752e85c3d28973ebc913287b8987d3dfe8.ttf +0 -0
  404. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/bb29ce50df2bdba2d10726427c6b7609bf460e04.ttf +0 -0
  405. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/bb9473d2403488714043bcfb946c9f78b86ad627.ttf +0 -0
  406. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/bbf4a308c402f0678c3e82844892a4da2ebe598f.ttf +0 -0
  407. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/bf39b0e91ef9807f15a9e283a21a14a209fd2cfc.ttf +0 -0
  408. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/bf962d3202883a820aed019d9b5c1838c2ff69c6.ttf +0 -0
  409. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/c4e48b0886ef460f532fb49f00047ec92c432ec0.ttf +0 -0
  410. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/cc5f3d2d717fb6bd4dfae1c16d48a2cb8e12233b.ttf +0 -0
  411. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/d23d76ea0909c14972796937ba072b5a40c1e257.ttf +0 -0
  412. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/d629e7fedc0b350222d7987345fe61613fa3929a.ttf +0 -0
  413. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/d9b8bc10985f24796826c29f7ccba3d0ae11ec02.ttf +0 -0
  414. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/dd9f0c7c7c36f75a18be0cab1cddf8f3ab0f366b.ttf +0 -0
  415. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/df768b9c257e0c9c35786c47cae15c46571d56be.ttf +0 -0
  416. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/e207635780b42f898d58654b65098763e340f5c7.ttf +0 -0
  417. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/e68a88939e0f06e34d2bc911f09b70890289c8fd.ttf +0 -0
  418. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/e88c339237f52d21e01c55f01b9c1b4cc14a0467.ttf +0 -0
  419. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/e90374e5e439e00725b4fe7a8d73db57c5a97f82.ttf +0 -0
  420. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/ee39587d13b2afa5499cc79e45780aa79293bbd4.ttf +0 -0
  421. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/ef2511f215aa3ca847cbfffbf861793b42170875.ttf +0 -0
  422. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/ef86fe710cfea877bbe0dbb6946a1f88d0661031.ttf +0 -0
  423. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/f22416c692720a7d46fadf4af99f4c9e094f00b9.ttf +0 -0
  424. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/f443753e8ffe8e8aae606cfba158e00334b6efb1.ttf +0 -0
  425. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/f499fbc23865022234775c43503bba2e63978fe1.ttf +0 -0
  426. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/f518eb6f6b5eec2946c9fbbbde44e45d46f5e2ac.ttf +0 -0
  427. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/f9b1dd4dcb515e757789a22cb4241107746fd3d0.ttf +0 -0
  428. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/fab39d60d758cb586db5a504f218442cd1395725.ttf +0 -0
  429. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/fbb6c84c9e1fe0c39e152fbe845e51fd81f6748e.ttf +0 -0
  430. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/fcdcffbdf1c4c97c05308d7600e4c283eb47dbca.ttf +0 -0
  431. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/fonts/ffa0f5d2d9025486d8469d8b1fdd983e7632499b.ttf +0 -0
  432. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/arabic-fallback-shaping.tests +1 -0
  433. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/arabic-feature-order.tests +4 -0
  434. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/arabic-like-joining.tests +1 -0
  435. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/arabic-mark-order.tests +6 -0
  436. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/arabic-stch.tests +1 -0
  437. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/automatic-fractions.tests +3 -0
  438. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/cluster.tests +2 -0
  439. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/color-fonts.tests +1 -0
  440. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/context-matching.tests +3 -0
  441. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/cursive-positioning.tests +4 -0
  442. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/default-ignorables.tests +2 -0
  443. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/emoji-flag-tags.tests +2 -0
  444. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/fallback-positioning.tests +2 -0
  445. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/fuzzed.tests +23 -0
  446. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/hangul-jamo.tests +2 -0
  447. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/hyphens.tests +2 -0
  448. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/indic-consonant-with-stacker.tests +4 -0
  449. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/indic-init.tests +1 -0
  450. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/indic-joiner-candrabindu.tests +2 -0
  451. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/indic-joiners.tests +2 -0
  452. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/indic-old-spec.tests +2 -0
  453. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/indic-pref-blocking.tests +2 -0
  454. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/indic-script-extensions.tests +2 -0
  455. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/indic-special-cases.tests +3 -0
  456. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/indic-syllable.tests +8 -0
  457. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/language-tags.tests +12 -0
  458. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/ligature-id.tests +36 -0
  459. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/mark-attachment.tests +1 -0
  460. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/mark-filtering-sets.tests +5 -0
  461. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/mongolian-variation-selector.tests +4 -0
  462. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/myanmar-syllable.tests +1 -0
  463. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/simple.tests +2 -0
  464. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/spaces.tests +17 -0
  465. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/tibetan-contractions-1.tests +60 -0
  466. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/tibetan-contractions-2.tests +53 -0
  467. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/tibetan-vowels.tests +11 -0
  468. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/use-marchen.tests +35 -0
  469. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/use-syllable.tests +8 -0
  470. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/use.tests +5 -0
  471. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/variations-rvrn.tests +100 -0
  472. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/vertical.tests +3 -0
  473. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/in-house/tests/zero-width-marks.tests +11 -0
  474. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/COPYING +13 -0
  475. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/DISABLED +35 -0
  476. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/Makefile.am +26 -0
  477. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/Makefile.sources +66 -0
  478. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/README +7 -0
  479. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/extract-tests.py +49 -0
  480. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/AdobeVFPrototype-Subset.otf +0 -0
  481. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/FDArrayTest257.otf +0 -0
  482. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/FDArrayTest65535.otf +0 -0
  483. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/NotoSansBalinese-Regular.ttf +0 -0
  484. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/NotoSansKannada-Regular.ttf +0 -0
  485. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/NotoSerifKannada-Regular.ttf +0 -0
  486. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/Selawik-README.md +60 -0
  487. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/Selawik-variable.ttf +0 -0
  488. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestAVAR.ttf +0 -0
  489. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestCMAP14.otf +0 -0
  490. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestCMAPMacTurkish.ttf +0 -0
  491. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestCVARGVAROne.ttf +0 -0
  492. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestCVARGVARTwo.ttf +0 -0
  493. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestGLYFOne.ttf +0 -0
  494. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestGPOSFour.ttf +0 -0
  495. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestGPOSOne.ttf +0 -0
  496. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestGPOSThree.ttf +0 -0
  497. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestGPOSTwo.otf +0 -0
  498. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestGSUBOne.otf +0 -0
  499. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestGVAREight.ttf +0 -0
  500. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestGVARFour.ttf +0 -0
  501. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestGVARNine.ttf +0 -0
  502. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestGVAROne.ttf +0 -0
  503. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestGVARThree.ttf +0 -0
  504. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestGVARTwo.ttf +0 -0
  505. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestHVAROne.otf +0 -0
  506. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestHVARTwo.ttf +0 -0
  507. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestKERNOne.otf +0 -0
  508. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestMORXEight.ttf +0 -0
  509. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestMORXEighteen.ttf +0 -0
  510. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestMORXEleven.ttf +0 -0
  511. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestMORXFour.ttf +0 -0
  512. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestMORXFourteen.ttf +0 -0
  513. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestMORXNine.ttf +0 -0
  514. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestMORXOne.ttf +0 -0
  515. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestMORXSeventeen.ttf +0 -0
  516. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestMORXSixteen.ttf +0 -0
  517. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestMORXTen.ttf +0 -0
  518. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestMORXThirteen.ttf +0 -0
  519. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestMORXThree.ttf +0 -0
  520. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestMORXTwelve.ttf +0 -0
  521. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestMORXTwenty.ttf +0 -0
  522. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestMORXTwentyfive.ttf +0 -0
  523. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestMORXTwentyone.ttf +0 -0
  524. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestMORXTwentysix.ttf +0 -0
  525. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestMORXTwentythree.ttf +0 -0
  526. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestMORXTwentytwo.ttf +0 -0
  527. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestMORXTwo.ttf +0 -0
  528. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestShapeAran.ttf +0 -0
  529. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/TestShapeEthi.ttf +0 -0
  530. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/fonts/Zycon.ttf +0 -0
  531. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/AVAR-1.tests +17 -0
  532. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/CFF-1.tests +13 -0
  533. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/CFF-2.tests +13 -0
  534. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/CFF2-1.tests +9 -0
  535. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/CMAP-1.tests +4 -0
  536. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/CMAP-2.tests +2 -0
  537. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/CMAP-3.tests +20 -0
  538. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/CVAR-1.tests +3 -0
  539. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/CVAR-2.tests +3 -0
  540. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/GLYF-1.tests +1 -0
  541. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/GPOS-1.tests +19 -0
  542. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/GPOS-2.tests +3 -0
  543. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/GPOS-3.tests +4 -0
  544. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/GPOS-4.tests +4 -0
  545. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/GPOS-5.tests +5 -0
  546. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/GSUB-1.tests +1 -0
  547. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/GSUB-2.tests +11 -0
  548. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/GVAR-1.tests +9 -0
  549. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/GVAR-2.tests +9 -0
  550. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/GVAR-3.tests +9 -0
  551. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/GVAR-4.tests +11 -0
  552. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/GVAR-5.tests +11 -0
  553. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/GVAR-6.tests +11 -0
  554. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/GVAR-7.tests +7 -0
  555. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/GVAR-8.tests +6 -0
  556. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/GVAR-9.tests +10 -0
  557. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/HVAR-1.tests +6 -0
  558. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/HVAR-2.tests +6 -0
  559. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/KERN-1.tests +1 -0
  560. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/KERN-2.tests +1 -0
  561. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/MORX-1.tests +1 -0
  562. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/MORX-10.tests +1 -0
  563. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/MORX-11.tests +1 -0
  564. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/MORX-12.tests +3 -0
  565. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/MORX-13.tests +1 -0
  566. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/MORX-14.tests +2 -0
  567. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/MORX-16.tests +1 -0
  568. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/MORX-17.tests +1 -0
  569. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/MORX-18.tests +4 -0
  570. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/MORX-19.tests +2 -0
  571. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/MORX-2.tests +16 -0
  572. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/MORX-20.tests +7 -0
  573. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/MORX-21.tests +1 -0
  574. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/MORX-22.tests +1 -0
  575. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/MORX-23.tests +1 -0
  576. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/MORX-25.tests +9 -0
  577. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/MORX-26.tests +2 -0
  578. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/MORX-3.tests +16 -0
  579. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/MORX-4.tests +15 -0
  580. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/MORX-5.tests +25 -0
  581. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/MORX-6.tests +1 -0
  582. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/MORX-7.tests +1 -0
  583. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/MORX-8.tests +3 -0
  584. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/MORX-9.tests +1 -0
  585. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/SHARAN-1.tests +6 -0
  586. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/SHBALI-1.tests +22 -0
  587. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/SHBALI-2.tests +12 -0
  588. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/SHBALI-3.tests +9 -0
  589. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/SHKNDA-1.tests +34 -0
  590. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/SHKNDA-2.tests +16 -0
  591. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/tests/SHKNDA-3.tests +31 -0
  592. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/data/text-rendering-tests/update.sh +46 -0
  593. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/hb-diff +10 -0
  594. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/hb-diff-colorize +7 -0
  595. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/hb-diff-filter-failures +5 -0
  596. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/hb-diff-stat +5 -0
  597. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/hb-unicode-decode +5 -0
  598. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/hb-unicode-encode +5 -0
  599. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/hb-unicode-prettyname +6 -0
  600. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/hb_test_tools.py +571 -0
  601. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/record-test.sh +107 -0
  602. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/run-tests.py +98 -0
  603. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-arabic/language-persian/mehran.txt +8 -0
  604. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/2grams.txt +601 -0
  605. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/3grams.txt +3415 -0
  606. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/4grams.txt +6316 -0
  607. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/5grams.txt +5029 -0
  608. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/6grams.txt +1542 -0
  609. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/7grams.txt +354 -0
  610. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/8grams.txt +26 -0
  611. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/LICENSE +3 -0
  612. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/README +16 -0
  613. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/SOURCES +4 -0
  614. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-arabic/misc/diacritics/lam-alef.txt +28 -0
  615. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-arabic/misc/diacritics/language-arabic.txt +695 -0
  616. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-arabic/misc/diacritics/language-persian.txt +48 -0
  617. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-arabic/misc/diacritics/language-urdu.txt +188 -0
  618. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-arabic/misc/diacritics/ligature-components.txt +18 -0
  619. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-arabic/misc/diacritics/ligature-diacritics.txt +1 -0
  620. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-arabic/misc/diacritics/mark-skipping.txt +10 -0
  621. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-mongolian/misc/misc.txt +6 -0
  622. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-mongolian/misc/non-joining.txt +8 -0
  623. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-mongolian/misc/poem.txt +4 -0
  624. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-mongolian/misc/variation-selectors.txt +8 -0
  625. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-nko/misc/misc.txt +5 -0
  626. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-phags-pa/misc/misc.txt +14 -0
  627. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-syriac/misc/abbreviation-mark.txt +11 -0
  628. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-arabic/script-syriac/misc/alaph.txt +98 -0
  629. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-default/script-ethiopic/misc/misc.txt +1 -0
  630. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-default/script-han/misc/cjk-compat.txt +3 -0
  631. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-default/script-hiragana/misc/kazuraki-liga-lines.txt +8 -0
  632. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-default/script-hiragana/misc/kazuraki-liga.txt +53 -0
  633. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-default/script-linear-b/misc/misc.txt +1 -0
  634. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-default/script-tifinagh/misc/misc.txt +10 -0
  635. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-hangul/script-hangul/misc/misc.txt +4 -0
  636. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-hebrew/script-hebrew/misc/diacritics.txt +16 -0
  637. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-assamese/utrrs/LICENSE +19 -0
  638. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-assamese/utrrs/README +13 -0
  639. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-assamese/utrrs/SOURCES +2 -0
  640. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt +4 -0
  641. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt +40 -0
  642. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt +10 -0
  643. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt +10 -0
  644. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt +11 -0
  645. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt +2 -0
  646. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt +6 -0
  647. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-assamese/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt +59 -0
  648. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-assamese/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt +131 -0
  649. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-assamese/utrrs/gsub/IndicFontFeatureGSUB.txt +139 -0
  650. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-bengali/misc/misc.txt +53 -0
  651. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-bengali/misc/reph.txt +14 -0
  652. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-bengali/utrrs/LICENSE +19 -0
  653. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-bengali/utrrs/README +13 -0
  654. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-bengali/utrrs/SOURCES +2 -0
  655. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt +1 -0
  656. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt +36 -0
  657. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt +10 -0
  658. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt +10 -0
  659. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt +12 -0
  660. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt +2 -0
  661. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt +6 -0
  662. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-bengali/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt +58 -0
  663. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-bengali/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt +119 -0
  664. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-bengali/utrrs/gsub/IndicFontFeatureGSUB.txt +215 -0
  665. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-devanagari/misc/dottedcircle.txt +8 -0
  666. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-devanagari/misc/eyelash.txt +3 -0
  667. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-devanagari/misc/joiners.txt +19 -0
  668. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-devanagari/misc/misc.txt +36 -0
  669. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-devanagari/misc/spec-deviations.txt +1 -0
  670. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-devanagari/misc/tricky-reordering.txt +5 -0
  671. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-devanagari/utrrs/LICENSE +19 -0
  672. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-devanagari/utrrs/README +13 -0
  673. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-devanagari/utrrs/SOURCES +2 -0
  674. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt +8 -0
  675. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt +4 -0
  676. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt +45 -0
  677. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt +14 -0
  678. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-DevnagariSpecificAddition.txt +1 -0
  679. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt +10 -0
  680. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-GenericPunctuation.txt +2 -0
  681. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt +16 -0
  682. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt +10 -0
  683. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-devanagari/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt +185 -0
  684. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-devanagari/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt +185 -0
  685. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-devanagari/utrrs/gsub/IndicFontFeatureGSUB.txt +1367 -0
  686. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gujarati/utrrs/LICENSE +19 -0
  687. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gujarati/utrrs/README +13 -0
  688. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gujarati/utrrs/SOURCES +2 -0
  689. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt +1 -0
  690. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt +34 -0
  691. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt +12 -0
  692. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt +10 -0
  693. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt +13 -0
  694. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt +2 -0
  695. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt +7 -0
  696. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gujarati/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt +170 -0
  697. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gujarati/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt +170 -0
  698. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gujarati/utrrs/gsub/IndicFontFeatureGSUB.txt +1156 -0
  699. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gurmukhi/misc/misc.txt +2 -0
  700. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gurmukhi/utrrs/LICENSE +19 -0
  701. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gurmukhi/utrrs/README +13 -0
  702. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gurmukhi/utrrs/SOURCES +2 -0
  703. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt +38 -0
  704. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt +9 -0
  705. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt +10 -0
  706. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-GurmukhiSpecific.txt +6 -0
  707. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt +10 -0
  708. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt +2 -0
  709. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt +6 -0
  710. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gurmukhi/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt +22 -0
  711. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gurmukhi/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt +2 -0
  712. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-gurmukhi/utrrs/gsub/IndicFontFeatureGSUB.txt +152 -0
  713. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-kannada/misc/misc.txt +20 -0
  714. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-kannada/misc/right-matras.txt +7 -0
  715. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-kannada/utrrs/LICENSE +19 -0
  716. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-kannada/utrrs/README +13 -0
  717. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-kannada/utrrs/SOURCES +2 -0
  718. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt +1 -0
  719. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt +4 -0
  720. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt +40 -0
  721. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt +13 -0
  722. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt +10 -0
  723. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt +14 -0
  724. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt +2 -0
  725. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt +9 -0
  726. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-kannada/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt +188 -0
  727. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-kannada/utrrs/gsub/IndicFontFeatureGSUB.txt +306 -0
  728. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-malayalam/misc/cibu.txt +188 -0
  729. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-malayalam/misc/dot-reph.txt +15 -0
  730. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-malayalam/misc/misc.txt +65 -0
  731. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-malayalam/utrrs/LICENSE +19 -0
  732. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-malayalam/utrrs/README +13 -0
  733. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-malayalam/utrrs/SOURCES +2 -0
  734. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt +2 -0
  735. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt +36 -0
  736. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt +12 -0
  737. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt +10 -0
  738. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt +14 -0
  739. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt +2 -0
  740. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt +4 -0
  741. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-malayalam/utrrs/gsub/IndicFontFeatureGSUB.txt +254 -0
  742. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-oriya/misc/bindu.txt +2 -0
  743. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-oriya/misc/misc.txt +28 -0
  744. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-oriya/utrrs/LICENSE +19 -0
  745. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-oriya/utrrs/README +13 -0
  746. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-oriya/utrrs/SOURCES +2 -0
  747. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt +3 -0
  748. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt +2 -0
  749. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt +34 -0
  750. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt +12 -0
  751. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt +10 -0
  752. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt +12 -0
  753. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-OriyaSpecific.txt +2 -0
  754. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt +2 -0
  755. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt +8 -0
  756. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-oriya/utrrs/gsub/IndicFontFeatureGSUB.txt +170 -0
  757. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-sinhala/misc/extensive.txt +4390 -0
  758. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-sinhala/misc/misc.txt +41 -0
  759. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-sinhala/misc/reph.txt +3 -0
  760. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-sinhala/misc/split-matras.txt +4 -0
  761. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-sinhala/utrrs/LICENSE +19 -0
  762. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-sinhala/utrrs/README +13 -0
  763. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-sinhala/utrrs/SOURCES +2 -0
  764. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt +41 -0
  765. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt +17 -0
  766. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt +18 -0
  767. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-Punctuation.txt +1 -0
  768. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt +3 -0
  769. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-sinhala/utrrs/gpos/IndicFontFeatureGPOS.txt +162 -0
  770. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Conjunct.txt +1 -0
  771. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Rakaaraansaya.txt +41 -0
  772. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Repaya.txt +42 -0
  773. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Special-Cases.txt +2 -0
  774. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-TouchingLetters.txt +1 -0
  775. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Yansaya.txt +41 -0
  776. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB.txt +1 -0
  777. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-tamil/misc/misc.txt +43 -0
  778. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-tamil/utrrs/LICENSE +19 -0
  779. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-tamil/utrrs/README +13 -0
  780. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-tamil/utrrs/SOURCES +2 -0
  781. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt +23 -0
  782. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-CurrencySymbols.txt +1 -0
  783. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt +11 -0
  784. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt +10 -0
  785. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt +12 -0
  786. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Numerics.txt +3 -0
  787. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt +2 -0
  788. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Symbols.txt +6 -0
  789. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-TamilSymbol.txt +1 -0
  790. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt +4 -0
  791. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-tamil/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt +64 -0
  792. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-tamil/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt +44 -0
  793. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-tamil/utrrs/gsub/IndicFontFeatureGSUB.txt +4 -0
  794. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-telugu/misc/misc.txt +12 -0
  795. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-telugu/utrrs/LICENSE +19 -0
  796. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-telugu/utrrs/README +13 -0
  797. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-telugu/utrrs/SOURCES +2 -0
  798. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt +2 -0
  799. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt +38 -0
  800. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt +13 -0
  801. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt +10 -0
  802. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt +14 -0
  803. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt +2 -0
  804. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt +6 -0
  805. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-telugu/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt +385 -0
  806. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/indic/script-telugu/utrrs/gsub/IndicFontFeatureGSUB.txt +287 -0
  807. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/south-east-asian/script-javanese/misc.txt +54 -0
  808. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/south-east-asian/script-khmer/misc/misc.txt +23 -0
  809. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/south-east-asian/script-khmer/misc/other-marks-invalid.txt +4 -0
  810. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-indic/south-east-asian/script-khmer/misc/other-marks.txt +7 -0
  811. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-myanmar/script-myanmar/misc/misc.txt +7 -0
  812. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-myanmar/script-myanmar/misc/otspec.txt +1 -0
  813. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-myanmar/script-myanmar/misc/utn11.txt +34 -0
  814. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-thai/script-lao/misc/sara-am.txt +20 -0
  815. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-thai/script-thai/misc/misc.txt +11 -0
  816. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-thai/script-thai/misc/phinthu.txt +16 -0
  817. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-thai/script-thai/misc/pua-shaping.txt +11 -0
  818. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-thai/script-thai/misc/sara-am.txt +20 -0
  819. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-tibetan/script-tibetan/misc/contractions.txt +612 -0
  820. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-tibetan/script-tibetan/misc/misc.txt +2 -0
  821. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-use/script-batak/misc.txt +9 -0
  822. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-use/script-buginese/misc.txt +70 -0
  823. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-use/script-cham/misc.txt +3 -0
  824. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-use/script-kaithi/misc.txt +6 -0
  825. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-use/script-kharoshti/misc.txt +36 -0
  826. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-use/script-tai-tham/misc.txt +2 -0
  827. data/vendor/github.com/harfbuzz/harfbuzz/test/shaping/texts/in-house/shaper-use/script-tai-tham/torture.txt +23 -0
  828. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/CMakeLists.txt +10 -0
  829. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/Makefile.am +22 -0
  830. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/data/Makefile.am +24 -0
  831. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/data/Makefile.sources +10 -0
  832. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/data/expected/basics/Roboto-Regular.abc.default.61,62,63.ttf +0 -0
  833. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/data/expected/basics/Roboto-Regular.abc.default.61,63.ttf +0 -0
  834. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/data/expected/basics/Roboto-Regular.abc.default.61.ttf +0 -0
  835. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/data/expected/basics/Roboto-Regular.abc.default.62.ttf +0 -0
  836. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/data/expected/basics/Roboto-Regular.abc.default.63.ttf +0 -0
  837. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints.61,62,63.ttf +0 -0
  838. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints.61,63.ttf +0 -0
  839. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints.61.ttf +0 -0
  840. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints.62.ttf +0 -0
  841. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints.63.ttf +0 -0
  842. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/data/expected/full-font/Roboto-Regular.default.1FC,21,41,20,62,63.ttf +0 -0
  843. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/data/expected/full-font/Roboto-Regular.default.61,62,63.ttf +0 -0
  844. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/data/expected/full-font/Roboto-Regular.drop-hints.1FC,21,41,20,62,63.ttf +0 -0
  845. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/data/expected/full-font/Roboto-Regular.drop-hints.61,62,63.ttf +0 -0
  846. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/data/fonts/Roboto-Regular.abc.ttf +0 -0
  847. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/data/fonts/Roboto-Regular.ttf +0 -0
  848. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/data/profiles/default.txt +0 -0
  849. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/data/profiles/drop-hints.txt +1 -0
  850. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/data/tests/basics.tests +13 -0
  851. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/data/tests/full-font.tests +11 -0
  852. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/generate-expected-outputs.py +47 -0
  853. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/run-tests.py +133 -0
  854. data/vendor/github.com/harfbuzz/harfbuzz/test/subset/subset_test_suite.py +87 -0
  855. data/vendor/github.com/harfbuzz/harfbuzz/util/Makefile.am +75 -0
  856. data/vendor/github.com/harfbuzz/harfbuzz/util/Makefile.sources +37 -0
  857. data/vendor/github.com/harfbuzz/harfbuzz/util/ansi-print.cc +427 -0
  858. data/vendor/github.com/harfbuzz/harfbuzz/util/ansi-print.hh +40 -0
  859. data/vendor/github.com/harfbuzz/harfbuzz/util/hb-fc-list.c +222 -0
  860. data/vendor/github.com/harfbuzz/harfbuzz/util/hb-fc.cc +149 -0
  861. data/vendor/github.com/harfbuzz/harfbuzz/util/hb-fc.h +46 -0
  862. data/vendor/github.com/harfbuzz/harfbuzz/util/hb-ot-shape-closure.cc +119 -0
  863. data/vendor/github.com/harfbuzz/harfbuzz/util/hb-shape.cc +165 -0
  864. data/vendor/github.com/harfbuzz/harfbuzz/util/hb-subset.cc +127 -0
  865. data/vendor/github.com/harfbuzz/harfbuzz/util/hb-view.cc +40 -0
  866. data/vendor/github.com/harfbuzz/harfbuzz/util/helper-cairo-ansi.cc +102 -0
  867. data/vendor/github.com/harfbuzz/harfbuzz/util/helper-cairo-ansi.hh +40 -0
  868. data/vendor/github.com/harfbuzz/harfbuzz/util/helper-cairo.cc +553 -0
  869. data/vendor/github.com/harfbuzz/harfbuzz/util/helper-cairo.hh +86 -0
  870. data/vendor/github.com/harfbuzz/harfbuzz/util/main-font-text.hh +96 -0
  871. data/vendor/github.com/harfbuzz/harfbuzz/util/options.cc +1026 -0
  872. data/vendor/github.com/harfbuzz/harfbuzz/util/options.hh +690 -0
  873. data/vendor/github.com/harfbuzz/harfbuzz/util/shape-consumer.hh +101 -0
  874. data/vendor/github.com/harfbuzz/harfbuzz/util/view-cairo.cc +133 -0
  875. data/vendor/github.com/harfbuzz/harfbuzz/util/view-cairo.hh +102 -0
  876. metadata +939 -0
@@ -0,0 +1,1846 @@
1
+ /*
2
+ * Copyright © 2009 Red Hat, Inc.
3
+ * Copyright © 2012 Google, Inc.
4
+ *
5
+ * This is part of HarfBuzz, a text shaping library.
6
+ *
7
+ * Permission is hereby granted, without written agreement and without
8
+ * license or royalty fees, to use, copy, modify, and distribute this
9
+ * software and its documentation for any purpose, provided that the
10
+ * above copyright notice and the following two paragraphs appear in
11
+ * all copies of this software.
12
+ *
13
+ * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
14
+ * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
15
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
16
+ * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
17
+ * DAMAGE.
18
+ *
19
+ * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
20
+ * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
21
+ * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
22
+ * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
23
+ * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
24
+ *
25
+ * Red Hat Author(s): Behdad Esfahbod
26
+ * Google Author(s): Behdad Esfahbod
27
+ */
28
+
29
+ #include "hb-private.hh"
30
+
31
+ #include "hb-font-private.hh"
32
+
33
+
34
+ /*
35
+ * hb_font_funcs_t
36
+ */
37
+
38
+ static hb_bool_t
39
+ hb_font_get_font_h_extents_nil (hb_font_t *font HB_UNUSED,
40
+ void *font_data HB_UNUSED,
41
+ hb_font_extents_t *metrics,
42
+ void *user_data HB_UNUSED)
43
+ {
44
+ memset (metrics, 0, sizeof (*metrics));
45
+ return false;
46
+ }
47
+ static hb_bool_t
48
+ hb_font_get_font_h_extents_parent (hb_font_t *font,
49
+ void *font_data HB_UNUSED,
50
+ hb_font_extents_t *metrics,
51
+ void *user_data HB_UNUSED)
52
+ {
53
+ hb_bool_t ret = font->parent->get_font_h_extents (metrics);
54
+ if (ret) {
55
+ metrics->ascender = font->parent_scale_y_distance (metrics->ascender);
56
+ metrics->descender = font->parent_scale_y_distance (metrics->descender);
57
+ metrics->line_gap = font->parent_scale_y_distance (metrics->line_gap);
58
+ }
59
+ return ret;
60
+ }
61
+
62
+ static hb_bool_t
63
+ hb_font_get_font_v_extents_nil (hb_font_t *font HB_UNUSED,
64
+ void *font_data HB_UNUSED,
65
+ hb_font_extents_t *metrics,
66
+ void *user_data HB_UNUSED)
67
+ {
68
+ memset (metrics, 0, sizeof (*metrics));
69
+ return false;
70
+ }
71
+ static hb_bool_t
72
+ hb_font_get_font_v_extents_parent (hb_font_t *font,
73
+ void *font_data HB_UNUSED,
74
+ hb_font_extents_t *metrics,
75
+ void *user_data HB_UNUSED)
76
+ {
77
+ hb_bool_t ret = font->parent->get_font_v_extents (metrics);
78
+ if (ret) {
79
+ metrics->ascender = font->parent_scale_x_distance (metrics->ascender);
80
+ metrics->descender = font->parent_scale_x_distance (metrics->descender);
81
+ metrics->line_gap = font->parent_scale_x_distance (metrics->line_gap);
82
+ }
83
+ return ret;
84
+ }
85
+
86
+ static hb_bool_t
87
+ hb_font_get_nominal_glyph_nil (hb_font_t *font HB_UNUSED,
88
+ void *font_data HB_UNUSED,
89
+ hb_codepoint_t unicode,
90
+ hb_codepoint_t *glyph,
91
+ void *user_data HB_UNUSED)
92
+ {
93
+ *glyph = 0;
94
+ return false;
95
+ }
96
+ static hb_bool_t
97
+ hb_font_get_nominal_glyph_parent (hb_font_t *font,
98
+ void *font_data HB_UNUSED,
99
+ hb_codepoint_t unicode,
100
+ hb_codepoint_t *glyph,
101
+ void *user_data HB_UNUSED)
102
+ {
103
+ return font->parent->get_nominal_glyph (unicode, glyph);
104
+ }
105
+
106
+ static hb_bool_t
107
+ hb_font_get_variation_glyph_nil (hb_font_t *font HB_UNUSED,
108
+ void *font_data HB_UNUSED,
109
+ hb_codepoint_t unicode,
110
+ hb_codepoint_t variation_selector,
111
+ hb_codepoint_t *glyph,
112
+ void *user_data HB_UNUSED)
113
+ {
114
+ *glyph = 0;
115
+ return false;
116
+ }
117
+ static hb_bool_t
118
+ hb_font_get_variation_glyph_parent (hb_font_t *font,
119
+ void *font_data HB_UNUSED,
120
+ hb_codepoint_t unicode,
121
+ hb_codepoint_t variation_selector,
122
+ hb_codepoint_t *glyph,
123
+ void *user_data HB_UNUSED)
124
+ {
125
+ return font->parent->get_variation_glyph (unicode, variation_selector, glyph);
126
+ }
127
+
128
+
129
+ static hb_position_t
130
+ hb_font_get_glyph_h_advance_nil (hb_font_t *font HB_UNUSED,
131
+ void *font_data HB_UNUSED,
132
+ hb_codepoint_t glyph,
133
+ void *user_data HB_UNUSED)
134
+ {
135
+ return font->x_scale;
136
+ }
137
+ static hb_position_t
138
+ hb_font_get_glyph_h_advance_parent (hb_font_t *font,
139
+ void *font_data HB_UNUSED,
140
+ hb_codepoint_t glyph,
141
+ void *user_data HB_UNUSED)
142
+ {
143
+ return font->parent_scale_x_distance (font->parent->get_glyph_h_advance (glyph));
144
+ }
145
+
146
+ static hb_position_t
147
+ hb_font_get_glyph_v_advance_nil (hb_font_t *font HB_UNUSED,
148
+ void *font_data HB_UNUSED,
149
+ hb_codepoint_t glyph,
150
+ void *user_data HB_UNUSED)
151
+ {
152
+ /* TODO use font_extents.ascender+descender */
153
+ return font->y_scale;
154
+ }
155
+ static hb_position_t
156
+ hb_font_get_glyph_v_advance_parent (hb_font_t *font,
157
+ void *font_data HB_UNUSED,
158
+ hb_codepoint_t glyph,
159
+ void *user_data HB_UNUSED)
160
+ {
161
+ return font->parent_scale_y_distance (font->parent->get_glyph_v_advance (glyph));
162
+ }
163
+
164
+ static hb_bool_t
165
+ hb_font_get_glyph_h_origin_nil (hb_font_t *font HB_UNUSED,
166
+ void *font_data HB_UNUSED,
167
+ hb_codepoint_t glyph,
168
+ hb_position_t *x,
169
+ hb_position_t *y,
170
+ void *user_data HB_UNUSED)
171
+ {
172
+ *x = *y = 0;
173
+ return true;
174
+ }
175
+ static hb_bool_t
176
+ hb_font_get_glyph_h_origin_parent (hb_font_t *font,
177
+ void *font_data HB_UNUSED,
178
+ hb_codepoint_t glyph,
179
+ hb_position_t *x,
180
+ hb_position_t *y,
181
+ void *user_data HB_UNUSED)
182
+ {
183
+ hb_bool_t ret = font->parent->get_glyph_h_origin (glyph, x, y);
184
+ if (ret)
185
+ font->parent_scale_position (x, y);
186
+ return ret;
187
+ }
188
+
189
+ static hb_bool_t
190
+ hb_font_get_glyph_v_origin_nil (hb_font_t *font HB_UNUSED,
191
+ void *font_data HB_UNUSED,
192
+ hb_codepoint_t glyph,
193
+ hb_position_t *x,
194
+ hb_position_t *y,
195
+ void *user_data HB_UNUSED)
196
+ {
197
+ *x = *y = 0;
198
+ return false;
199
+ }
200
+ static hb_bool_t
201
+ hb_font_get_glyph_v_origin_parent (hb_font_t *font,
202
+ void *font_data HB_UNUSED,
203
+ hb_codepoint_t glyph,
204
+ hb_position_t *x,
205
+ hb_position_t *y,
206
+ void *user_data HB_UNUSED)
207
+ {
208
+ hb_bool_t ret = font->parent->get_glyph_v_origin (glyph, x, y);
209
+ if (ret)
210
+ font->parent_scale_position (x, y);
211
+ return ret;
212
+ }
213
+
214
+ static hb_position_t
215
+ hb_font_get_glyph_h_kerning_nil (hb_font_t *font HB_UNUSED,
216
+ void *font_data HB_UNUSED,
217
+ hb_codepoint_t left_glyph,
218
+ hb_codepoint_t right_glyph,
219
+ void *user_data HB_UNUSED)
220
+ {
221
+ return 0;
222
+ }
223
+ static hb_position_t
224
+ hb_font_get_glyph_h_kerning_parent (hb_font_t *font,
225
+ void *font_data HB_UNUSED,
226
+ hb_codepoint_t left_glyph,
227
+ hb_codepoint_t right_glyph,
228
+ void *user_data HB_UNUSED)
229
+ {
230
+ return font->parent_scale_x_distance (font->parent->get_glyph_h_kerning (left_glyph, right_glyph));
231
+ }
232
+
233
+ static hb_position_t
234
+ hb_font_get_glyph_v_kerning_nil (hb_font_t *font HB_UNUSED,
235
+ void *font_data HB_UNUSED,
236
+ hb_codepoint_t top_glyph,
237
+ hb_codepoint_t bottom_glyph,
238
+ void *user_data HB_UNUSED)
239
+ {
240
+ return 0;
241
+ }
242
+ static hb_position_t
243
+ hb_font_get_glyph_v_kerning_parent (hb_font_t *font,
244
+ void *font_data HB_UNUSED,
245
+ hb_codepoint_t top_glyph,
246
+ hb_codepoint_t bottom_glyph,
247
+ void *user_data HB_UNUSED)
248
+ {
249
+ return font->parent_scale_y_distance (font->parent->get_glyph_v_kerning (top_glyph, bottom_glyph));
250
+ }
251
+
252
+ static hb_bool_t
253
+ hb_font_get_glyph_extents_nil (hb_font_t *font HB_UNUSED,
254
+ void *font_data HB_UNUSED,
255
+ hb_codepoint_t glyph,
256
+ hb_glyph_extents_t *extents,
257
+ void *user_data HB_UNUSED)
258
+ {
259
+ memset (extents, 0, sizeof (*extents));
260
+ return false;
261
+ }
262
+ static hb_bool_t
263
+ hb_font_get_glyph_extents_parent (hb_font_t *font,
264
+ void *font_data HB_UNUSED,
265
+ hb_codepoint_t glyph,
266
+ hb_glyph_extents_t *extents,
267
+ void *user_data HB_UNUSED)
268
+ {
269
+ hb_bool_t ret = font->parent->get_glyph_extents (glyph, extents);
270
+ if (ret) {
271
+ font->parent_scale_position (&extents->x_bearing, &extents->y_bearing);
272
+ font->parent_scale_distance (&extents->width, &extents->height);
273
+ }
274
+ return ret;
275
+ }
276
+
277
+ static hb_bool_t
278
+ hb_font_get_glyph_contour_point_nil (hb_font_t *font HB_UNUSED,
279
+ void *font_data HB_UNUSED,
280
+ hb_codepoint_t glyph,
281
+ unsigned int point_index,
282
+ hb_position_t *x,
283
+ hb_position_t *y,
284
+ void *user_data HB_UNUSED)
285
+ {
286
+ *x = *y = 0;
287
+ return false;
288
+ }
289
+ static hb_bool_t
290
+ hb_font_get_glyph_contour_point_parent (hb_font_t *font,
291
+ void *font_data HB_UNUSED,
292
+ hb_codepoint_t glyph,
293
+ unsigned int point_index,
294
+ hb_position_t *x,
295
+ hb_position_t *y,
296
+ void *user_data HB_UNUSED)
297
+ {
298
+ hb_bool_t ret = font->parent->get_glyph_contour_point (glyph, point_index, x, y);
299
+ if (ret)
300
+ font->parent_scale_position (x, y);
301
+ return ret;
302
+ }
303
+
304
+ static hb_bool_t
305
+ hb_font_get_glyph_name_nil (hb_font_t *font HB_UNUSED,
306
+ void *font_data HB_UNUSED,
307
+ hb_codepoint_t glyph,
308
+ char *name, unsigned int size,
309
+ void *user_data HB_UNUSED)
310
+ {
311
+ if (size) *name = '\0';
312
+ return false;
313
+ }
314
+ static hb_bool_t
315
+ hb_font_get_glyph_name_parent (hb_font_t *font,
316
+ void *font_data HB_UNUSED,
317
+ hb_codepoint_t glyph,
318
+ char *name, unsigned int size,
319
+ void *user_data HB_UNUSED)
320
+ {
321
+ return font->parent->get_glyph_name (glyph, name, size);
322
+ }
323
+
324
+ static hb_bool_t
325
+ hb_font_get_glyph_from_name_nil (hb_font_t *font HB_UNUSED,
326
+ void *font_data HB_UNUSED,
327
+ const char *name, int len, /* -1 means nul-terminated */
328
+ hb_codepoint_t *glyph,
329
+ void *user_data HB_UNUSED)
330
+ {
331
+ *glyph = 0;
332
+ return false;
333
+ }
334
+ static hb_bool_t
335
+ hb_font_get_glyph_from_name_parent (hb_font_t *font,
336
+ void *font_data HB_UNUSED,
337
+ const char *name, int len, /* -1 means nul-terminated */
338
+ hb_codepoint_t *glyph,
339
+ void *user_data HB_UNUSED)
340
+ {
341
+ return font->parent->get_glyph_from_name (name, len, glyph);
342
+ }
343
+
344
+ static const hb_font_funcs_t _hb_font_funcs_nil = {
345
+ HB_OBJECT_HEADER_STATIC,
346
+
347
+ true, /* immutable */
348
+
349
+ {
350
+ #define HB_FONT_FUNC_IMPLEMENT(name) nullptr,
351
+ HB_FONT_FUNCS_IMPLEMENT_CALLBACKS
352
+ #undef HB_FONT_FUNC_IMPLEMENT
353
+ },
354
+ {
355
+ #define HB_FONT_FUNC_IMPLEMENT(name) nullptr,
356
+ HB_FONT_FUNCS_IMPLEMENT_CALLBACKS
357
+ #undef HB_FONT_FUNC_IMPLEMENT
358
+ },
359
+ {
360
+ {
361
+ #define HB_FONT_FUNC_IMPLEMENT(name) hb_font_get_##name##_nil,
362
+ HB_FONT_FUNCS_IMPLEMENT_CALLBACKS
363
+ #undef HB_FONT_FUNC_IMPLEMENT
364
+ }
365
+ }
366
+ };
367
+ static const hb_font_funcs_t _hb_font_funcs_parent = {
368
+ HB_OBJECT_HEADER_STATIC,
369
+
370
+ true, /* immutable */
371
+
372
+ {
373
+ #define HB_FONT_FUNC_IMPLEMENT(name) nullptr,
374
+ HB_FONT_FUNCS_IMPLEMENT_CALLBACKS
375
+ #undef HB_FONT_FUNC_IMPLEMENT
376
+ },
377
+ {
378
+ #define HB_FONT_FUNC_IMPLEMENT(name) nullptr,
379
+ HB_FONT_FUNCS_IMPLEMENT_CALLBACKS
380
+ #undef HB_FONT_FUNC_IMPLEMENT
381
+ },
382
+ {
383
+ {
384
+ #define HB_FONT_FUNC_IMPLEMENT(name) hb_font_get_##name##_parent,
385
+ HB_FONT_FUNCS_IMPLEMENT_CALLBACKS
386
+ #undef HB_FONT_FUNC_IMPLEMENT
387
+ }
388
+ }
389
+ };
390
+
391
+
392
+ /**
393
+ * hb_font_funcs_create: (Xconstructor)
394
+ *
395
+ *
396
+ *
397
+ * Return value: (transfer full):
398
+ *
399
+ * Since: 0.9.2
400
+ **/
401
+ hb_font_funcs_t *
402
+ hb_font_funcs_create (void)
403
+ {
404
+ hb_font_funcs_t *ffuncs;
405
+
406
+ if (!(ffuncs = hb_object_create<hb_font_funcs_t> ()))
407
+ return hb_font_funcs_get_empty ();
408
+
409
+ ffuncs->get = _hb_font_funcs_parent.get;
410
+
411
+ return ffuncs;
412
+ }
413
+
414
+ /**
415
+ * hb_font_funcs_get_empty:
416
+ *
417
+ *
418
+ *
419
+ * Return value: (transfer full):
420
+ *
421
+ * Since: 0.9.2
422
+ **/
423
+ hb_font_funcs_t *
424
+ hb_font_funcs_get_empty (void)
425
+ {
426
+ return const_cast<hb_font_funcs_t *> (&_hb_font_funcs_parent);
427
+ }
428
+
429
+ /**
430
+ * hb_font_funcs_reference: (skip)
431
+ * @ffuncs: font functions.
432
+ *
433
+ *
434
+ *
435
+ * Return value:
436
+ *
437
+ * Since: 0.9.2
438
+ **/
439
+ hb_font_funcs_t *
440
+ hb_font_funcs_reference (hb_font_funcs_t *ffuncs)
441
+ {
442
+ return hb_object_reference (ffuncs);
443
+ }
444
+
445
+ /**
446
+ * hb_font_funcs_destroy: (skip)
447
+ * @ffuncs: font functions.
448
+ *
449
+ *
450
+ *
451
+ * Since: 0.9.2
452
+ **/
453
+ void
454
+ hb_font_funcs_destroy (hb_font_funcs_t *ffuncs)
455
+ {
456
+ if (!hb_object_destroy (ffuncs)) return;
457
+
458
+ #define HB_FONT_FUNC_IMPLEMENT(name) if (ffuncs->destroy.name) \
459
+ ffuncs->destroy.name (ffuncs->user_data.name);
460
+ HB_FONT_FUNCS_IMPLEMENT_CALLBACKS
461
+ #undef HB_FONT_FUNC_IMPLEMENT
462
+
463
+ free (ffuncs);
464
+ }
465
+
466
+ /**
467
+ * hb_font_funcs_set_user_data: (skip)
468
+ * @ffuncs: font functions.
469
+ * @key:
470
+ * @data:
471
+ * @destroy:
472
+ * @replace:
473
+ *
474
+ *
475
+ *
476
+ * Return value:
477
+ *
478
+ * Since: 0.9.2
479
+ **/
480
+ hb_bool_t
481
+ hb_font_funcs_set_user_data (hb_font_funcs_t *ffuncs,
482
+ hb_user_data_key_t *key,
483
+ void * data,
484
+ hb_destroy_func_t destroy,
485
+ hb_bool_t replace)
486
+ {
487
+ return hb_object_set_user_data (ffuncs, key, data, destroy, replace);
488
+ }
489
+
490
+ /**
491
+ * hb_font_funcs_get_user_data: (skip)
492
+ * @ffuncs: font functions.
493
+ * @key:
494
+ *
495
+ *
496
+ *
497
+ * Return value: (transfer none):
498
+ *
499
+ * Since: 0.9.2
500
+ **/
501
+ void *
502
+ hb_font_funcs_get_user_data (hb_font_funcs_t *ffuncs,
503
+ hb_user_data_key_t *key)
504
+ {
505
+ return hb_object_get_user_data (ffuncs, key);
506
+ }
507
+
508
+
509
+ /**
510
+ * hb_font_funcs_make_immutable:
511
+ * @ffuncs: font functions.
512
+ *
513
+ *
514
+ *
515
+ * Since: 0.9.2
516
+ **/
517
+ void
518
+ hb_font_funcs_make_immutable (hb_font_funcs_t *ffuncs)
519
+ {
520
+ if (unlikely (hb_object_is_inert (ffuncs)))
521
+ return;
522
+
523
+ ffuncs->immutable = true;
524
+ }
525
+
526
+ /**
527
+ * hb_font_funcs_is_immutable:
528
+ * @ffuncs: font functions.
529
+ *
530
+ *
531
+ *
532
+ * Return value:
533
+ *
534
+ * Since: 0.9.2
535
+ **/
536
+ hb_bool_t
537
+ hb_font_funcs_is_immutable (hb_font_funcs_t *ffuncs)
538
+ {
539
+ return ffuncs->immutable;
540
+ }
541
+
542
+
543
+ #define HB_FONT_FUNC_IMPLEMENT(name) \
544
+ \
545
+ void \
546
+ hb_font_funcs_set_##name##_func (hb_font_funcs_t *ffuncs, \
547
+ hb_font_get_##name##_func_t func, \
548
+ void *user_data, \
549
+ hb_destroy_func_t destroy) \
550
+ { \
551
+ if (ffuncs->immutable) { \
552
+ if (destroy) \
553
+ destroy (user_data); \
554
+ return; \
555
+ } \
556
+ \
557
+ if (ffuncs->destroy.name) \
558
+ ffuncs->destroy.name (ffuncs->user_data.name); \
559
+ \
560
+ if (func) { \
561
+ ffuncs->get.f.name = func; \
562
+ ffuncs->user_data.name = user_data; \
563
+ ffuncs->destroy.name = destroy; \
564
+ } else { \
565
+ ffuncs->get.f.name = hb_font_get_##name##_parent; \
566
+ ffuncs->user_data.name = nullptr; \
567
+ ffuncs->destroy.name = nullptr; \
568
+ } \
569
+ }
570
+
571
+ HB_FONT_FUNCS_IMPLEMENT_CALLBACKS
572
+ #undef HB_FONT_FUNC_IMPLEMENT
573
+
574
+ bool
575
+ hb_font_t::has_func (unsigned int i)
576
+ {
577
+ if (parent && parent != hb_font_get_empty () && parent->has_func (i))
578
+ return true;
579
+ return this->klass->get.array[i] != _hb_font_funcs_parent.get.array[i];
580
+ }
581
+
582
+ /* Public getters */
583
+
584
+ /**
585
+ * hb_font_get_h_extents:
586
+ * @font: a font.
587
+ * @extents: (out):
588
+ *
589
+ *
590
+ *
591
+ * Return value:
592
+ *
593
+ * Since: 1.1.3
594
+ **/
595
+ hb_bool_t
596
+ hb_font_get_h_extents (hb_font_t *font,
597
+ hb_font_extents_t *extents)
598
+ {
599
+ return font->get_font_h_extents (extents);
600
+ }
601
+
602
+ /**
603
+ * hb_font_get_v_extents:
604
+ * @font: a font.
605
+ * @extents: (out):
606
+ *
607
+ *
608
+ *
609
+ * Return value:
610
+ *
611
+ * Since: 1.1.3
612
+ **/
613
+ hb_bool_t
614
+ hb_font_get_v_extents (hb_font_t *font,
615
+ hb_font_extents_t *extents)
616
+ {
617
+ return font->get_font_v_extents (extents);
618
+ }
619
+
620
+ /**
621
+ * hb_font_get_glyph:
622
+ * @font: a font.
623
+ * @unicode:
624
+ * @variation_selector:
625
+ * @glyph: (out):
626
+ *
627
+ *
628
+ *
629
+ * Return value:
630
+ *
631
+ * Since: 0.9.2
632
+ **/
633
+ hb_bool_t
634
+ hb_font_get_glyph (hb_font_t *font,
635
+ hb_codepoint_t unicode, hb_codepoint_t variation_selector,
636
+ hb_codepoint_t *glyph)
637
+ {
638
+ if (unlikely (variation_selector))
639
+ return font->get_variation_glyph (unicode, variation_selector, glyph);
640
+ return font->get_nominal_glyph (unicode, glyph);
641
+ }
642
+
643
+ /**
644
+ * hb_font_get_nominal_glyph:
645
+ * @font: a font.
646
+ * @unicode:
647
+ * @glyph: (out):
648
+ *
649
+ *
650
+ *
651
+ * Return value:
652
+ *
653
+ * Since: 1.2.3
654
+ **/
655
+ hb_bool_t
656
+ hb_font_get_nominal_glyph (hb_font_t *font,
657
+ hb_codepoint_t unicode,
658
+ hb_codepoint_t *glyph)
659
+ {
660
+ return font->get_nominal_glyph (unicode, glyph);
661
+ }
662
+
663
+ /**
664
+ * hb_font_get_variation_glyph:
665
+ * @font: a font.
666
+ * @unicode:
667
+ * @variation_selector:
668
+ * @glyph: (out):
669
+ *
670
+ *
671
+ *
672
+ * Return value:
673
+ *
674
+ * Since: 1.2.3
675
+ **/
676
+ hb_bool_t
677
+ hb_font_get_variation_glyph (hb_font_t *font,
678
+ hb_codepoint_t unicode, hb_codepoint_t variation_selector,
679
+ hb_codepoint_t *glyph)
680
+ {
681
+ return font->get_variation_glyph (unicode, variation_selector, glyph);
682
+ }
683
+
684
+ /**
685
+ * hb_font_get_glyph_h_advance:
686
+ * @font: a font.
687
+ * @glyph:
688
+ *
689
+ *
690
+ *
691
+ * Return value:
692
+ *
693
+ * Since: 0.9.2
694
+ **/
695
+ hb_position_t
696
+ hb_font_get_glyph_h_advance (hb_font_t *font,
697
+ hb_codepoint_t glyph)
698
+ {
699
+ return font->get_glyph_h_advance (glyph);
700
+ }
701
+
702
+ /**
703
+ * hb_font_get_glyph_v_advance:
704
+ * @font: a font.
705
+ * @glyph:
706
+ *
707
+ *
708
+ *
709
+ * Return value:
710
+ *
711
+ * Since: 0.9.2
712
+ **/
713
+ hb_position_t
714
+ hb_font_get_glyph_v_advance (hb_font_t *font,
715
+ hb_codepoint_t glyph)
716
+ {
717
+ return font->get_glyph_v_advance (glyph);
718
+ }
719
+
720
+ /**
721
+ * hb_font_get_glyph_h_origin:
722
+ * @font: a font.
723
+ * @glyph:
724
+ * @x: (out):
725
+ * @y: (out):
726
+ *
727
+ *
728
+ *
729
+ * Return value:
730
+ *
731
+ * Since: 0.9.2
732
+ **/
733
+ hb_bool_t
734
+ hb_font_get_glyph_h_origin (hb_font_t *font,
735
+ hb_codepoint_t glyph,
736
+ hb_position_t *x, hb_position_t *y)
737
+ {
738
+ return font->get_glyph_h_origin (glyph, x, y);
739
+ }
740
+
741
+ /**
742
+ * hb_font_get_glyph_v_origin:
743
+ * @font: a font.
744
+ * @glyph:
745
+ * @x: (out):
746
+ * @y: (out):
747
+ *
748
+ *
749
+ *
750
+ * Return value:
751
+ *
752
+ * Since: 0.9.2
753
+ **/
754
+ hb_bool_t
755
+ hb_font_get_glyph_v_origin (hb_font_t *font,
756
+ hb_codepoint_t glyph,
757
+ hb_position_t *x, hb_position_t *y)
758
+ {
759
+ return font->get_glyph_v_origin (glyph, x, y);
760
+ }
761
+
762
+ /**
763
+ * hb_font_get_glyph_h_kerning:
764
+ * @font: a font.
765
+ * @left_glyph:
766
+ * @right_glyph:
767
+ *
768
+ *
769
+ *
770
+ * Return value:
771
+ *
772
+ * Since: 0.9.2
773
+ **/
774
+ hb_position_t
775
+ hb_font_get_glyph_h_kerning (hb_font_t *font,
776
+ hb_codepoint_t left_glyph, hb_codepoint_t right_glyph)
777
+ {
778
+ return font->get_glyph_h_kerning (left_glyph, right_glyph);
779
+ }
780
+
781
+ /**
782
+ * hb_font_get_glyph_v_kerning:
783
+ * @font: a font.
784
+ * @top_glyph:
785
+ * @bottom_glyph:
786
+ *
787
+ *
788
+ *
789
+ * Return value:
790
+ *
791
+ * Since: 0.9.2
792
+ **/
793
+ hb_position_t
794
+ hb_font_get_glyph_v_kerning (hb_font_t *font,
795
+ hb_codepoint_t top_glyph, hb_codepoint_t bottom_glyph)
796
+ {
797
+ return font->get_glyph_v_kerning (top_glyph, bottom_glyph);
798
+ }
799
+
800
+ /**
801
+ * hb_font_get_glyph_extents:
802
+ * @font: a font.
803
+ * @glyph:
804
+ * @extents: (out):
805
+ *
806
+ *
807
+ *
808
+ * Return value:
809
+ *
810
+ * Since: 0.9.2
811
+ **/
812
+ hb_bool_t
813
+ hb_font_get_glyph_extents (hb_font_t *font,
814
+ hb_codepoint_t glyph,
815
+ hb_glyph_extents_t *extents)
816
+ {
817
+ return font->get_glyph_extents (glyph, extents);
818
+ }
819
+
820
+ /**
821
+ * hb_font_get_glyph_contour_point:
822
+ * @font: a font.
823
+ * @glyph:
824
+ * @point_index:
825
+ * @x: (out):
826
+ * @y: (out):
827
+ *
828
+ *
829
+ *
830
+ * Return value:
831
+ *
832
+ * Since: 0.9.2
833
+ **/
834
+ hb_bool_t
835
+ hb_font_get_glyph_contour_point (hb_font_t *font,
836
+ hb_codepoint_t glyph, unsigned int point_index,
837
+ hb_position_t *x, hb_position_t *y)
838
+ {
839
+ return font->get_glyph_contour_point (glyph, point_index, x, y);
840
+ }
841
+
842
+ /**
843
+ * hb_font_get_glyph_name:
844
+ * @font: a font.
845
+ * @glyph:
846
+ * @name: (array length=size):
847
+ * @size:
848
+ *
849
+ *
850
+ *
851
+ * Return value:
852
+ *
853
+ * Since: 0.9.2
854
+ **/
855
+ hb_bool_t
856
+ hb_font_get_glyph_name (hb_font_t *font,
857
+ hb_codepoint_t glyph,
858
+ char *name, unsigned int size)
859
+ {
860
+ return font->get_glyph_name (glyph, name, size);
861
+ }
862
+
863
+ /**
864
+ * hb_font_get_glyph_from_name:
865
+ * @font: a font.
866
+ * @name: (array length=len):
867
+ * @len:
868
+ * @glyph: (out):
869
+ *
870
+ *
871
+ *
872
+ * Return value:
873
+ *
874
+ * Since: 0.9.2
875
+ **/
876
+ hb_bool_t
877
+ hb_font_get_glyph_from_name (hb_font_t *font,
878
+ const char *name, int len, /* -1 means nul-terminated */
879
+ hb_codepoint_t *glyph)
880
+ {
881
+ return font->get_glyph_from_name (name, len, glyph);
882
+ }
883
+
884
+
885
+ /* A bit higher-level, and with fallback */
886
+
887
+ /**
888
+ * hb_font_get_extents_for_direction:
889
+ * @font: a font.
890
+ * @direction:
891
+ * @extents:
892
+ *
893
+ *
894
+ *
895
+ * Since: 1.1.3
896
+ **/
897
+ void
898
+ hb_font_get_extents_for_direction (hb_font_t *font,
899
+ hb_direction_t direction,
900
+ hb_font_extents_t *extents)
901
+ {
902
+ return font->get_extents_for_direction (direction, extents);
903
+ }
904
+ /**
905
+ * hb_font_get_glyph_advance_for_direction:
906
+ * @font: a font.
907
+ * @glyph:
908
+ * @direction:
909
+ * @x: (out):
910
+ * @y: (out):
911
+ *
912
+ *
913
+ *
914
+ * Since: 0.9.2
915
+ **/
916
+ void
917
+ hb_font_get_glyph_advance_for_direction (hb_font_t *font,
918
+ hb_codepoint_t glyph,
919
+ hb_direction_t direction,
920
+ hb_position_t *x, hb_position_t *y)
921
+ {
922
+ return font->get_glyph_advance_for_direction (glyph, direction, x, y);
923
+ }
924
+
925
+ /**
926
+ * hb_font_get_glyph_origin_for_direction:
927
+ * @font: a font.
928
+ * @glyph:
929
+ * @direction:
930
+ * @x: (out):
931
+ * @y: (out):
932
+ *
933
+ *
934
+ *
935
+ * Since: 0.9.2
936
+ **/
937
+ void
938
+ hb_font_get_glyph_origin_for_direction (hb_font_t *font,
939
+ hb_codepoint_t glyph,
940
+ hb_direction_t direction,
941
+ hb_position_t *x, hb_position_t *y)
942
+ {
943
+ return font->get_glyph_origin_for_direction (glyph, direction, x, y);
944
+ }
945
+
946
+ /**
947
+ * hb_font_add_glyph_origin_for_direction:
948
+ * @font: a font.
949
+ * @glyph:
950
+ * @direction:
951
+ * @x: (out):
952
+ * @y: (out):
953
+ *
954
+ *
955
+ *
956
+ * Since: 0.9.2
957
+ **/
958
+ void
959
+ hb_font_add_glyph_origin_for_direction (hb_font_t *font,
960
+ hb_codepoint_t glyph,
961
+ hb_direction_t direction,
962
+ hb_position_t *x, hb_position_t *y)
963
+ {
964
+ return font->add_glyph_origin_for_direction (glyph, direction, x, y);
965
+ }
966
+
967
+ /**
968
+ * hb_font_subtract_glyph_origin_for_direction:
969
+ * @font: a font.
970
+ * @glyph:
971
+ * @direction:
972
+ * @x: (out):
973
+ * @y: (out):
974
+ *
975
+ *
976
+ *
977
+ * Since: 0.9.2
978
+ **/
979
+ void
980
+ hb_font_subtract_glyph_origin_for_direction (hb_font_t *font,
981
+ hb_codepoint_t glyph,
982
+ hb_direction_t direction,
983
+ hb_position_t *x, hb_position_t *y)
984
+ {
985
+ return font->subtract_glyph_origin_for_direction (glyph, direction, x, y);
986
+ }
987
+
988
+ /**
989
+ * hb_font_get_glyph_kerning_for_direction:
990
+ * @font: a font.
991
+ * @first_glyph:
992
+ * @second_glyph:
993
+ * @direction:
994
+ * @x: (out):
995
+ * @y: (out):
996
+ *
997
+ *
998
+ *
999
+ * Since: 0.9.2
1000
+ **/
1001
+ void
1002
+ hb_font_get_glyph_kerning_for_direction (hb_font_t *font,
1003
+ hb_codepoint_t first_glyph, hb_codepoint_t second_glyph,
1004
+ hb_direction_t direction,
1005
+ hb_position_t *x, hb_position_t *y)
1006
+ {
1007
+ return font->get_glyph_kerning_for_direction (first_glyph, second_glyph, direction, x, y);
1008
+ }
1009
+
1010
+ /**
1011
+ * hb_font_get_glyph_extents_for_origin:
1012
+ * @font: a font.
1013
+ * @glyph:
1014
+ * @direction:
1015
+ * @extents: (out):
1016
+ *
1017
+ *
1018
+ *
1019
+ * Return value:
1020
+ *
1021
+ * Since: 0.9.2
1022
+ **/
1023
+ hb_bool_t
1024
+ hb_font_get_glyph_extents_for_origin (hb_font_t *font,
1025
+ hb_codepoint_t glyph,
1026
+ hb_direction_t direction,
1027
+ hb_glyph_extents_t *extents)
1028
+ {
1029
+ return font->get_glyph_extents_for_origin (glyph, direction, extents);
1030
+ }
1031
+
1032
+ /**
1033
+ * hb_font_get_glyph_contour_point_for_origin:
1034
+ * @font: a font.
1035
+ * @glyph:
1036
+ * @point_index:
1037
+ * @direction:
1038
+ * @x: (out):
1039
+ * @y: (out):
1040
+ *
1041
+ *
1042
+ *
1043
+ * Return value:
1044
+ *
1045
+ * Since: 0.9.2
1046
+ **/
1047
+ hb_bool_t
1048
+ hb_font_get_glyph_contour_point_for_origin (hb_font_t *font,
1049
+ hb_codepoint_t glyph, unsigned int point_index,
1050
+ hb_direction_t direction,
1051
+ hb_position_t *x, hb_position_t *y)
1052
+ {
1053
+ return font->get_glyph_contour_point_for_origin (glyph, point_index, direction, x, y);
1054
+ }
1055
+
1056
+ /* Generates gidDDD if glyph has no name. */
1057
+ /**
1058
+ * hb_font_glyph_to_string:
1059
+ * @font: a font.
1060
+ * @glyph:
1061
+ * @s: (array length=size):
1062
+ * @size:
1063
+ *
1064
+ *
1065
+ *
1066
+ * Since: 0.9.2
1067
+ **/
1068
+ void
1069
+ hb_font_glyph_to_string (hb_font_t *font,
1070
+ hb_codepoint_t glyph,
1071
+ char *s, unsigned int size)
1072
+ {
1073
+ font->glyph_to_string (glyph, s, size);
1074
+ }
1075
+
1076
+ /* Parses gidDDD and uniUUUU strings automatically. */
1077
+ /**
1078
+ * hb_font_glyph_from_string:
1079
+ * @font: a font.
1080
+ * @s: (array length=len) (element-type uint8_t):
1081
+ * @len:
1082
+ * @glyph: (out):
1083
+ *
1084
+ *
1085
+ *
1086
+ * Return value:
1087
+ *
1088
+ * Since: 0.9.2
1089
+ **/
1090
+ hb_bool_t
1091
+ hb_font_glyph_from_string (hb_font_t *font,
1092
+ const char *s, int len, /* -1 means nul-terminated */
1093
+ hb_codepoint_t *glyph)
1094
+ {
1095
+ return font->glyph_from_string (s, len, glyph);
1096
+ }
1097
+
1098
+
1099
+ /*
1100
+ * hb_font_t
1101
+ */
1102
+
1103
+ /**
1104
+ * hb_font_create: (Xconstructor)
1105
+ * @face: a face.
1106
+ *
1107
+ *
1108
+ *
1109
+ * Return value: (transfer full):
1110
+ *
1111
+ * Since: 0.9.2
1112
+ **/
1113
+ hb_font_t *
1114
+ hb_font_create (hb_face_t *face)
1115
+ {
1116
+ hb_font_t *font;
1117
+
1118
+ if (unlikely (!face))
1119
+ face = hb_face_get_empty ();
1120
+ if (!(font = hb_object_create<hb_font_t> ()))
1121
+ return hb_font_get_empty ();
1122
+
1123
+ hb_face_make_immutable (face);
1124
+ font->parent = hb_font_get_empty ();
1125
+ font->face = hb_face_reference (face);
1126
+ font->klass = hb_font_funcs_get_empty ();
1127
+
1128
+ font->x_scale = font->y_scale = hb_face_get_upem (face);
1129
+
1130
+ return font;
1131
+ }
1132
+
1133
+ /**
1134
+ * hb_font_create_sub_font:
1135
+ * @parent: parent font.
1136
+ *
1137
+ *
1138
+ *
1139
+ * Return value: (transfer full):
1140
+ *
1141
+ * Since: 0.9.2
1142
+ **/
1143
+ hb_font_t *
1144
+ hb_font_create_sub_font (hb_font_t *parent)
1145
+ {
1146
+ if (unlikely (!parent))
1147
+ parent = hb_font_get_empty ();
1148
+
1149
+ hb_font_t *font = hb_font_create (parent->face);
1150
+
1151
+ if (unlikely (hb_object_is_inert (font)))
1152
+ return font;
1153
+
1154
+ font->parent = hb_font_reference (parent);
1155
+
1156
+ font->x_scale = parent->x_scale;
1157
+ font->y_scale = parent->y_scale;
1158
+ font->x_ppem = parent->x_ppem;
1159
+ font->y_ppem = parent->y_ppem;
1160
+ font->ptem = parent->ptem;
1161
+
1162
+ font->num_coords = parent->num_coords;
1163
+ if (!font->num_coords)
1164
+ font->coords = nullptr;
1165
+ else
1166
+ {
1167
+ unsigned int size = parent->num_coords * sizeof (parent->coords[0]);
1168
+ font->coords = (int *) malloc (size);
1169
+ if (unlikely (!font->coords))
1170
+ font->num_coords = 0;
1171
+ else
1172
+ memcpy (font->coords, parent->coords, size);
1173
+ }
1174
+
1175
+ return font;
1176
+ }
1177
+
1178
+ /**
1179
+ * hb_font_get_empty:
1180
+ *
1181
+ *
1182
+ *
1183
+ * Return value: (transfer full)
1184
+ *
1185
+ * Since: 0.9.2
1186
+ **/
1187
+ hb_font_t *
1188
+ hb_font_get_empty (void)
1189
+ {
1190
+ static const hb_font_t _hb_font_nil = {
1191
+ HB_OBJECT_HEADER_STATIC,
1192
+
1193
+ true, /* immutable */
1194
+
1195
+ nullptr, /* parent */
1196
+ const_cast<hb_face_t *> (&_hb_face_nil),
1197
+
1198
+ 1000, /* x_scale */
1199
+ 1000, /* y_scale */
1200
+
1201
+ 0, /* x_ppem */
1202
+ 0, /* y_ppem */
1203
+ 0, /* ptem */
1204
+
1205
+ 0, /* num_coords */
1206
+ nullptr, /* coords */
1207
+
1208
+ const_cast<hb_font_funcs_t *> (&_hb_font_funcs_nil), /* klass */
1209
+ nullptr, /* user_data */
1210
+ nullptr, /* destroy */
1211
+
1212
+ {
1213
+ #define HB_SHAPER_IMPLEMENT(shaper) HB_SHAPER_DATA_INVALID,
1214
+ #include "hb-shaper-list.hh"
1215
+ #undef HB_SHAPER_IMPLEMENT
1216
+ }
1217
+ };
1218
+
1219
+ return const_cast<hb_font_t *> (&_hb_font_nil);
1220
+ }
1221
+
1222
+ /**
1223
+ * hb_font_reference: (skip)
1224
+ * @font: a font.
1225
+ *
1226
+ *
1227
+ *
1228
+ * Return value: (transfer full):
1229
+ *
1230
+ * Since: 0.9.2
1231
+ **/
1232
+ hb_font_t *
1233
+ hb_font_reference (hb_font_t *font)
1234
+ {
1235
+ return hb_object_reference (font);
1236
+ }
1237
+
1238
+ /**
1239
+ * hb_font_destroy: (skip)
1240
+ * @font: a font.
1241
+ *
1242
+ *
1243
+ *
1244
+ * Since: 0.9.2
1245
+ **/
1246
+ void
1247
+ hb_font_destroy (hb_font_t *font)
1248
+ {
1249
+ if (!hb_object_destroy (font)) return;
1250
+
1251
+ #define HB_SHAPER_IMPLEMENT(shaper) HB_SHAPER_DATA_DESTROY(shaper, font);
1252
+ #include "hb-shaper-list.hh"
1253
+ #undef HB_SHAPER_IMPLEMENT
1254
+
1255
+ if (font->destroy)
1256
+ font->destroy (font->user_data);
1257
+
1258
+ hb_font_destroy (font->parent);
1259
+ hb_face_destroy (font->face);
1260
+ hb_font_funcs_destroy (font->klass);
1261
+
1262
+ free (font->coords);
1263
+
1264
+ free (font);
1265
+ }
1266
+
1267
+ /**
1268
+ * hb_font_set_user_data: (skip)
1269
+ * @font: a font.
1270
+ * @key:
1271
+ * @data:
1272
+ * @destroy:
1273
+ * @replace:
1274
+ *
1275
+ *
1276
+ *
1277
+ * Return value:
1278
+ *
1279
+ * Since: 0.9.2
1280
+ **/
1281
+ hb_bool_t
1282
+ hb_font_set_user_data (hb_font_t *font,
1283
+ hb_user_data_key_t *key,
1284
+ void * data,
1285
+ hb_destroy_func_t destroy,
1286
+ hb_bool_t replace)
1287
+ {
1288
+ return hb_object_set_user_data (font, key, data, destroy, replace);
1289
+ }
1290
+
1291
+ /**
1292
+ * hb_font_get_user_data: (skip)
1293
+ * @font: a font.
1294
+ * @key:
1295
+ *
1296
+ *
1297
+ *
1298
+ * Return value: (transfer none):
1299
+ *
1300
+ * Since: 0.9.2
1301
+ **/
1302
+ void *
1303
+ hb_font_get_user_data (hb_font_t *font,
1304
+ hb_user_data_key_t *key)
1305
+ {
1306
+ return hb_object_get_user_data (font, key);
1307
+ }
1308
+
1309
+ /**
1310
+ * hb_font_make_immutable:
1311
+ * @font: a font.
1312
+ *
1313
+ *
1314
+ *
1315
+ * Since: 0.9.2
1316
+ **/
1317
+ void
1318
+ hb_font_make_immutable (hb_font_t *font)
1319
+ {
1320
+ if (unlikely (hb_object_is_inert (font)))
1321
+ return;
1322
+
1323
+ if (font->parent)
1324
+ hb_font_make_immutable (font->parent);
1325
+
1326
+ font->immutable = true;
1327
+ }
1328
+
1329
+ /**
1330
+ * hb_font_is_immutable:
1331
+ * @font: a font.
1332
+ *
1333
+ *
1334
+ *
1335
+ * Return value:
1336
+ *
1337
+ * Since: 0.9.2
1338
+ **/
1339
+ hb_bool_t
1340
+ hb_font_is_immutable (hb_font_t *font)
1341
+ {
1342
+ return font->immutable;
1343
+ }
1344
+
1345
+ /**
1346
+ * hb_font_set_parent:
1347
+ * @font: a font.
1348
+ * @parent: new parent.
1349
+ *
1350
+ * Sets parent font of @font.
1351
+ *
1352
+ * Since: 1.0.5
1353
+ **/
1354
+ void
1355
+ hb_font_set_parent (hb_font_t *font,
1356
+ hb_font_t *parent)
1357
+ {
1358
+ if (font->immutable)
1359
+ return;
1360
+
1361
+ if (!parent)
1362
+ parent = hb_font_get_empty ();
1363
+
1364
+ hb_font_t *old = font->parent;
1365
+
1366
+ font->parent = hb_font_reference (parent);
1367
+
1368
+ hb_font_destroy (old);
1369
+ }
1370
+
1371
+ /**
1372
+ * hb_font_get_parent:
1373
+ * @font: a font.
1374
+ *
1375
+ *
1376
+ *
1377
+ * Return value: (transfer none):
1378
+ *
1379
+ * Since: 0.9.2
1380
+ **/
1381
+ hb_font_t *
1382
+ hb_font_get_parent (hb_font_t *font)
1383
+ {
1384
+ return font->parent;
1385
+ }
1386
+
1387
+ /**
1388
+ * hb_font_set_face:
1389
+ * @font: a font.
1390
+ * @face: new face.
1391
+ *
1392
+ * Sets font-face of @font.
1393
+ *
1394
+ * Since: 1.4.3
1395
+ **/
1396
+ void
1397
+ hb_font_set_face (hb_font_t *font,
1398
+ hb_face_t *face)
1399
+ {
1400
+ if (font->immutable)
1401
+ return;
1402
+
1403
+ if (unlikely (!face))
1404
+ face = hb_face_get_empty ();
1405
+
1406
+ hb_face_t *old = font->face;
1407
+
1408
+ font->face = hb_face_reference (face);
1409
+
1410
+ hb_face_destroy (old);
1411
+ }
1412
+
1413
+ /**
1414
+ * hb_font_get_face:
1415
+ * @font: a font.
1416
+ *
1417
+ *
1418
+ *
1419
+ * Return value: (transfer none):
1420
+ *
1421
+ * Since: 0.9.2
1422
+ **/
1423
+ hb_face_t *
1424
+ hb_font_get_face (hb_font_t *font)
1425
+ {
1426
+ return font->face;
1427
+ }
1428
+
1429
+
1430
+ /**
1431
+ * hb_font_set_funcs:
1432
+ * @font: a font.
1433
+ * @klass: (closure font_data) (destroy destroy) (scope notified):
1434
+ * @font_data:
1435
+ * @destroy:
1436
+ *
1437
+ *
1438
+ *
1439
+ * Since: 0.9.2
1440
+ **/
1441
+ void
1442
+ hb_font_set_funcs (hb_font_t *font,
1443
+ hb_font_funcs_t *klass,
1444
+ void *font_data,
1445
+ hb_destroy_func_t destroy)
1446
+ {
1447
+ if (font->immutable) {
1448
+ if (destroy)
1449
+ destroy (font_data);
1450
+ return;
1451
+ }
1452
+
1453
+ if (font->destroy)
1454
+ font->destroy (font->user_data);
1455
+
1456
+ if (!klass)
1457
+ klass = hb_font_funcs_get_empty ();
1458
+
1459
+ hb_font_funcs_reference (klass);
1460
+ hb_font_funcs_destroy (font->klass);
1461
+ font->klass = klass;
1462
+ font->user_data = font_data;
1463
+ font->destroy = destroy;
1464
+ }
1465
+
1466
+ /**
1467
+ * hb_font_set_funcs_data:
1468
+ * @font: a font.
1469
+ * @font_data: (destroy destroy) (scope notified):
1470
+ * @destroy:
1471
+ *
1472
+ *
1473
+ *
1474
+ * Since: 0.9.2
1475
+ **/
1476
+ void
1477
+ hb_font_set_funcs_data (hb_font_t *font,
1478
+ void *font_data,
1479
+ hb_destroy_func_t destroy)
1480
+ {
1481
+ /* Destroy user_data? */
1482
+ if (font->immutable) {
1483
+ if (destroy)
1484
+ destroy (font_data);
1485
+ return;
1486
+ }
1487
+
1488
+ if (font->destroy)
1489
+ font->destroy (font->user_data);
1490
+
1491
+ font->user_data = font_data;
1492
+ font->destroy = destroy;
1493
+ }
1494
+
1495
+
1496
+ /**
1497
+ * hb_font_set_scale:
1498
+ * @font: a font.
1499
+ * @x_scale:
1500
+ * @y_scale:
1501
+ *
1502
+ *
1503
+ *
1504
+ * Since: 0.9.2
1505
+ **/
1506
+ void
1507
+ hb_font_set_scale (hb_font_t *font,
1508
+ int x_scale,
1509
+ int y_scale)
1510
+ {
1511
+ if (font->immutable)
1512
+ return;
1513
+
1514
+ font->x_scale = x_scale;
1515
+ font->y_scale = y_scale;
1516
+ }
1517
+
1518
+ /**
1519
+ * hb_font_get_scale:
1520
+ * @font: a font.
1521
+ * @x_scale: (out):
1522
+ * @y_scale: (out):
1523
+ *
1524
+ *
1525
+ *
1526
+ * Since: 0.9.2
1527
+ **/
1528
+ void
1529
+ hb_font_get_scale (hb_font_t *font,
1530
+ int *x_scale,
1531
+ int *y_scale)
1532
+ {
1533
+ if (x_scale) *x_scale = font->x_scale;
1534
+ if (y_scale) *y_scale = font->y_scale;
1535
+ }
1536
+
1537
+ /**
1538
+ * hb_font_set_ppem:
1539
+ * @font: a font.
1540
+ * @x_ppem:
1541
+ * @y_ppem:
1542
+ *
1543
+ *
1544
+ *
1545
+ * Since: 0.9.2
1546
+ **/
1547
+ void
1548
+ hb_font_set_ppem (hb_font_t *font,
1549
+ unsigned int x_ppem,
1550
+ unsigned int y_ppem)
1551
+ {
1552
+ if (font->immutable)
1553
+ return;
1554
+
1555
+ font->x_ppem = x_ppem;
1556
+ font->y_ppem = y_ppem;
1557
+ }
1558
+
1559
+ /**
1560
+ * hb_font_get_ppem:
1561
+ * @font: a font.
1562
+ * @x_ppem: (out):
1563
+ * @y_ppem: (out):
1564
+ *
1565
+ *
1566
+ *
1567
+ * Since: 0.9.2
1568
+ **/
1569
+ void
1570
+ hb_font_get_ppem (hb_font_t *font,
1571
+ unsigned int *x_ppem,
1572
+ unsigned int *y_ppem)
1573
+ {
1574
+ if (x_ppem) *x_ppem = font->x_ppem;
1575
+ if (y_ppem) *y_ppem = font->y_ppem;
1576
+ }
1577
+
1578
+ /**
1579
+ * hb_font_set_ptem:
1580
+ * @font: a font.
1581
+ * @ptem:
1582
+ *
1583
+ * Sets "point size" of the font.
1584
+ *
1585
+ * Since: 1.6.0
1586
+ **/
1587
+ void
1588
+ hb_font_set_ptem (hb_font_t *font, float ptem)
1589
+ {
1590
+ if (font->immutable)
1591
+ return;
1592
+
1593
+ font->ptem = ptem;
1594
+ }
1595
+
1596
+ /**
1597
+ * hb_font_get_ptem:
1598
+ * @font: a font.
1599
+ *
1600
+ * Gets the "point size" of the font. A value of 0 means unset.
1601
+ *
1602
+ * Return value: Point size.
1603
+ *
1604
+ * Since: 0.9.2
1605
+ **/
1606
+ float
1607
+ hb_font_get_ptem (hb_font_t *font)
1608
+ {
1609
+ return font->ptem;
1610
+ }
1611
+
1612
+ /*
1613
+ * Variations
1614
+ */
1615
+
1616
+ static void
1617
+ _hb_font_adopt_var_coords_normalized (hb_font_t *font,
1618
+ int *coords, /* 2.14 normalized */
1619
+ unsigned int coords_length)
1620
+ {
1621
+ free (font->coords);
1622
+
1623
+ font->coords = coords;
1624
+ font->num_coords = coords_length;
1625
+ }
1626
+
1627
+ /**
1628
+ * hb_font_set_variations:
1629
+ *
1630
+ * Since: 1.4.2
1631
+ */
1632
+ void
1633
+ hb_font_set_variations (hb_font_t *font,
1634
+ const hb_variation_t *variations,
1635
+ unsigned int variations_length)
1636
+ {
1637
+ if (font->immutable)
1638
+ return;
1639
+
1640
+ if (!variations_length)
1641
+ {
1642
+ hb_font_set_var_coords_normalized (font, nullptr, 0);
1643
+ return;
1644
+ }
1645
+
1646
+ unsigned int coords_length = hb_ot_var_get_axis_count (font->face);
1647
+
1648
+ int *normalized = coords_length ? (int *) calloc (coords_length, sizeof (int)) : nullptr;
1649
+ if (unlikely (coords_length && !normalized))
1650
+ return;
1651
+
1652
+ hb_ot_var_normalize_variations (font->face,
1653
+ variations, variations_length,
1654
+ normalized, coords_length);
1655
+ _hb_font_adopt_var_coords_normalized (font, normalized, coords_length);
1656
+ }
1657
+
1658
+ /**
1659
+ * hb_font_set_var_coords_design:
1660
+ *
1661
+ * Since: 1.4.2
1662
+ */
1663
+ void
1664
+ hb_font_set_var_coords_design (hb_font_t *font,
1665
+ const float *coords,
1666
+ unsigned int coords_length)
1667
+ {
1668
+ if (font->immutable)
1669
+ return;
1670
+
1671
+ int *normalized = coords_length ? (int *) calloc (coords_length, sizeof (int)) : nullptr;
1672
+ if (unlikely (coords_length && !normalized))
1673
+ return;
1674
+
1675
+ hb_ot_var_normalize_coords (font->face, coords_length, coords, normalized);
1676
+ _hb_font_adopt_var_coords_normalized (font, normalized, coords_length);
1677
+ }
1678
+
1679
+ /**
1680
+ * hb_font_set_var_coords_normalized:
1681
+ *
1682
+ * Since: 1.4.2
1683
+ */
1684
+ void
1685
+ hb_font_set_var_coords_normalized (hb_font_t *font,
1686
+ const int *coords, /* 2.14 normalized */
1687
+ unsigned int coords_length)
1688
+ {
1689
+ if (font->immutable)
1690
+ return;
1691
+
1692
+ int *copy = coords_length ? (int *) calloc (coords_length, sizeof (coords[0])) : nullptr;
1693
+ if (unlikely (coords_length && !copy))
1694
+ return;
1695
+
1696
+ if (coords_length)
1697
+ memcpy (copy, coords, coords_length * sizeof (coords[0]));
1698
+
1699
+ _hb_font_adopt_var_coords_normalized (font, copy, coords_length);
1700
+ }
1701
+
1702
+ /**
1703
+ * hb_font_get_var_coords_normalized:
1704
+ *
1705
+ * Return value is valid as long as variation coordinates of the font
1706
+ * are not modified.
1707
+ *
1708
+ * Since: 1.4.2
1709
+ */
1710
+ const int *
1711
+ hb_font_get_var_coords_normalized (hb_font_t *font,
1712
+ unsigned int *length)
1713
+ {
1714
+ if (length)
1715
+ *length = font->num_coords;
1716
+
1717
+ return font->coords;
1718
+ }
1719
+
1720
+
1721
+ #ifndef HB_DISABLE_DEPRECATED
1722
+
1723
+ /*
1724
+ * Deprecated get_glyph_func():
1725
+ */
1726
+
1727
+ struct hb_trampoline_closure_t
1728
+ {
1729
+ void *user_data;
1730
+ hb_destroy_func_t destroy;
1731
+ unsigned int ref_count;
1732
+ };
1733
+
1734
+ template <typename FuncType>
1735
+ struct hb_trampoline_t
1736
+ {
1737
+ hb_trampoline_closure_t closure; /* Must be first. */
1738
+ FuncType func;
1739
+ };
1740
+
1741
+ template <typename FuncType>
1742
+ static hb_trampoline_t<FuncType> *
1743
+ trampoline_create (FuncType func,
1744
+ void *user_data,
1745
+ hb_destroy_func_t destroy)
1746
+ {
1747
+ typedef hb_trampoline_t<FuncType> trampoline_t;
1748
+
1749
+ trampoline_t *trampoline = (trampoline_t *) calloc (1, sizeof (trampoline_t));
1750
+
1751
+ if (unlikely (!trampoline))
1752
+ return nullptr;
1753
+
1754
+ trampoline->closure.user_data = user_data;
1755
+ trampoline->closure.destroy = destroy;
1756
+ trampoline->closure.ref_count = 1;
1757
+ trampoline->func = func;
1758
+
1759
+ return trampoline;
1760
+ }
1761
+
1762
+ static void
1763
+ trampoline_reference (hb_trampoline_closure_t *closure)
1764
+ {
1765
+ closure->ref_count++;
1766
+ }
1767
+
1768
+ static void
1769
+ trampoline_destroy (void *user_data)
1770
+ {
1771
+ hb_trampoline_closure_t *closure = (hb_trampoline_closure_t *) user_data;
1772
+
1773
+ if (--closure->ref_count)
1774
+ return;
1775
+
1776
+ if (closure->destroy)
1777
+ closure->destroy (closure->user_data);
1778
+ free (closure);
1779
+ }
1780
+
1781
+ typedef hb_trampoline_t<hb_font_get_glyph_func_t> hb_font_get_glyph_trampoline_t;
1782
+
1783
+ static hb_bool_t
1784
+ hb_font_get_nominal_glyph_trampoline (hb_font_t *font,
1785
+ void *font_data,
1786
+ hb_codepoint_t unicode,
1787
+ hb_codepoint_t *glyph,
1788
+ void *user_data)
1789
+ {
1790
+ hb_font_get_glyph_trampoline_t *trampoline = (hb_font_get_glyph_trampoline_t *) user_data;
1791
+ return trampoline->func (font, font_data, unicode, 0, glyph, trampoline->closure.user_data);
1792
+ }
1793
+
1794
+ static hb_bool_t
1795
+ hb_font_get_variation_glyph_trampoline (hb_font_t *font,
1796
+ void *font_data,
1797
+ hb_codepoint_t unicode,
1798
+ hb_codepoint_t variation_selector,
1799
+ hb_codepoint_t *glyph,
1800
+ void *user_data)
1801
+ {
1802
+ hb_font_get_glyph_trampoline_t *trampoline = (hb_font_get_glyph_trampoline_t *) user_data;
1803
+ return trampoline->func (font, font_data, unicode, variation_selector, glyph, trampoline->closure.user_data);
1804
+ }
1805
+
1806
+ /**
1807
+ * hb_font_funcs_set_glyph_func:
1808
+ * @ffuncs: font functions.
1809
+ * @func: (closure user_data) (destroy destroy) (scope notified):
1810
+ * @user_data:
1811
+ * @destroy:
1812
+ *
1813
+ * Deprecated. Use hb_font_funcs_set_nominal_glyph_func() and
1814
+ * hb_font_funcs_set_variation_glyph_func() instead.
1815
+ *
1816
+ * Since: 0.9.2
1817
+ * Deprecated: 1.2.3
1818
+ **/
1819
+ void
1820
+ hb_font_funcs_set_glyph_func (hb_font_funcs_t *ffuncs,
1821
+ hb_font_get_glyph_func_t func,
1822
+ void *user_data, hb_destroy_func_t destroy)
1823
+ {
1824
+ hb_font_get_glyph_trampoline_t *trampoline;
1825
+
1826
+ trampoline = trampoline_create (func, user_data, destroy);
1827
+ if (unlikely (!trampoline))
1828
+ {
1829
+ if (destroy)
1830
+ destroy (user_data);
1831
+ return;
1832
+ }
1833
+
1834
+ hb_font_funcs_set_nominal_glyph_func (ffuncs,
1835
+ hb_font_get_nominal_glyph_trampoline,
1836
+ trampoline,
1837
+ trampoline_destroy);
1838
+
1839
+ trampoline_reference (&trampoline->closure);
1840
+ hb_font_funcs_set_variation_glyph_func (ffuncs,
1841
+ hb_font_get_variation_glyph_trampoline,
1842
+ trampoline,
1843
+ trampoline_destroy);
1844
+ }
1845
+
1846
+ #endif /* HB_DISABLE_DEPRECATED */