@img/sharp-libvips-dev 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (656) hide show
  1. package/README.md +47 -0
  2. package/cplusplus/VConnection.cpp +151 -0
  3. package/cplusplus/VError.cpp +49 -0
  4. package/cplusplus/VImage.cpp +1548 -0
  5. package/cplusplus/VInterpolate.cpp +62 -0
  6. package/cplusplus/VRegion.cpp +27 -0
  7. package/cplusplus/index.js +1 -0
  8. package/cplusplus/vips-operators.cpp +3760 -0
  9. package/include/aom/aom.h +127 -0
  10. package/include/aom/aom_codec.h +573 -0
  11. package/include/aom/aom_decoder.h +257 -0
  12. package/include/aom/aom_encoder.h +1137 -0
  13. package/include/aom/aom_external_partition.h +452 -0
  14. package/include/aom/aom_frame_buffer.h +84 -0
  15. package/include/aom/aom_image.h +448 -0
  16. package/include/aom/aom_integer.h +68 -0
  17. package/include/aom/aomcx.h +2112 -0
  18. package/include/aom/aomdx.h +604 -0
  19. package/include/archive.h +1212 -0
  20. package/include/archive_entry.h +723 -0
  21. package/include/cairo/cairo-deprecated.h +123 -0
  22. package/include/cairo/cairo-features.h +29 -0
  23. package/include/cairo/cairo-ft.h +118 -0
  24. package/include/cairo/cairo-gobject.h +192 -0
  25. package/include/cairo/cairo-svg.h +130 -0
  26. package/include/cairo/cairo-version.h +8 -0
  27. package/include/cairo/cairo.h +3281 -0
  28. package/include/cgif.h +80 -0
  29. package/include/expat.h +1064 -0
  30. package/include/expat_config.h +140 -0
  31. package/include/expat_external.h +165 -0
  32. package/include/ffi.h +531 -0
  33. package/include/ffitarget.h +164 -0
  34. package/include/fontconfig/fcfreetype.h +59 -0
  35. package/include/fontconfig/fcprivate.h +134 -0
  36. package/include/fontconfig/fontconfig.h +1158 -0
  37. package/include/freetype2/freetype/config/ftconfig.h +51 -0
  38. package/include/freetype2/freetype/config/ftheader.h +836 -0
  39. package/include/freetype2/freetype/config/ftmodule.h +21 -0
  40. package/include/freetype2/freetype/config/ftoption.h +1014 -0
  41. package/include/freetype2/freetype/config/ftstdlib.h +185 -0
  42. package/include/freetype2/freetype/config/integer-types.h +250 -0
  43. package/include/freetype2/freetype/config/mac-support.h +49 -0
  44. package/include/freetype2/freetype/config/public-macros.h +138 -0
  45. package/include/freetype2/freetype/freetype.h +5337 -0
  46. package/include/freetype2/freetype/ftadvanc.h +188 -0
  47. package/include/freetype2/freetype/ftbbox.h +101 -0
  48. package/include/freetype2/freetype/ftbdf.h +212 -0
  49. package/include/freetype2/freetype/ftbitmap.h +329 -0
  50. package/include/freetype2/freetype/ftbzip2.h +102 -0
  51. package/include/freetype2/freetype/ftcache.h +1087 -0
  52. package/include/freetype2/freetype/ftchapters.h +168 -0
  53. package/include/freetype2/freetype/ftcid.h +167 -0
  54. package/include/freetype2/freetype/ftcolor.h +1667 -0
  55. package/include/freetype2/freetype/ftdriver.h +1246 -0
  56. package/include/freetype2/freetype/fterrdef.h +283 -0
  57. package/include/freetype2/freetype/fterrors.h +296 -0
  58. package/include/freetype2/freetype/ftfntfmt.h +93 -0
  59. package/include/freetype2/freetype/ftgasp.h +143 -0
  60. package/include/freetype2/freetype/ftglyph.h +750 -0
  61. package/include/freetype2/freetype/ftgxval.h +354 -0
  62. package/include/freetype2/freetype/ftgzip.h +151 -0
  63. package/include/freetype2/freetype/ftimage.h +1284 -0
  64. package/include/freetype2/freetype/ftincrem.h +348 -0
  65. package/include/freetype2/freetype/ftlcdfil.h +323 -0
  66. package/include/freetype2/freetype/ftlist.h +296 -0
  67. package/include/freetype2/freetype/ftlzw.h +100 -0
  68. package/include/freetype2/freetype/ftmac.h +289 -0
  69. package/include/freetype2/freetype/ftmm.h +805 -0
  70. package/include/freetype2/freetype/ftmodapi.h +807 -0
  71. package/include/freetype2/freetype/ftmoderr.h +204 -0
  72. package/include/freetype2/freetype/ftotval.h +206 -0
  73. package/include/freetype2/freetype/ftoutln.h +588 -0
  74. package/include/freetype2/freetype/ftparams.h +218 -0
  75. package/include/freetype2/freetype/ftpfr.h +179 -0
  76. package/include/freetype2/freetype/ftrender.h +244 -0
  77. package/include/freetype2/freetype/ftsizes.h +159 -0
  78. package/include/freetype2/freetype/ftsnames.h +272 -0
  79. package/include/freetype2/freetype/ftstroke.h +773 -0
  80. package/include/freetype2/freetype/ftsynth.h +104 -0
  81. package/include/freetype2/freetype/ftsystem.h +350 -0
  82. package/include/freetype2/freetype/fttrigon.h +350 -0
  83. package/include/freetype2/freetype/fttypes.h +617 -0
  84. package/include/freetype2/freetype/ftwinfnt.h +276 -0
  85. package/include/freetype2/freetype/otsvg.h +336 -0
  86. package/include/freetype2/freetype/t1tables.h +793 -0
  87. package/include/freetype2/freetype/ttnameid.h +1235 -0
  88. package/include/freetype2/freetype/tttables.h +855 -0
  89. package/include/freetype2/freetype/tttags.h +124 -0
  90. package/include/freetype2/ft2build.h +42 -0
  91. package/include/fribidi/fribidi-arabic.h +81 -0
  92. package/include/fribidi/fribidi-begindecls.h +3 -0
  93. package/include/fribidi/fribidi-bidi-types-list.h +96 -0
  94. package/include/fribidi/fribidi-bidi-types.h +405 -0
  95. package/include/fribidi/fribidi-bidi.h +142 -0
  96. package/include/fribidi/fribidi-brackets.h +89 -0
  97. package/include/fribidi/fribidi-char-sets-list.h +54 -0
  98. package/include/fribidi/fribidi-char-sets.h +106 -0
  99. package/include/fribidi/fribidi-common.h +152 -0
  100. package/include/fribidi/fribidi-config.h +23 -0
  101. package/include/fribidi/fribidi-deprecated.h +175 -0
  102. package/include/fribidi/fribidi-enddecls.h +3 -0
  103. package/include/fribidi/fribidi-flags.h +72 -0
  104. package/include/fribidi/fribidi-joining-types-list.h +44 -0
  105. package/include/fribidi/fribidi-joining-types.h +249 -0
  106. package/include/fribidi/fribidi-joining.h +74 -0
  107. package/include/fribidi/fribidi-mirroring.h +86 -0
  108. package/include/fribidi/fribidi-shape.h +71 -0
  109. package/include/fribidi/fribidi-types.h +79 -0
  110. package/include/fribidi/fribidi-unicode-version.h +10 -0
  111. package/include/fribidi/fribidi-unicode.h +105 -0
  112. package/include/fribidi/fribidi.h +129 -0
  113. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h +221 -0
  114. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-autocleanups.h +37 -0
  115. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h +525 -0
  116. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h +40 -0
  117. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-features.h +115 -0
  118. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h +481 -0
  119. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h +113 -0
  120. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-macros.h +718 -0
  121. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-marshal.h +33 -0
  122. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h +70 -0
  123. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h +168 -0
  124. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h +46 -0
  125. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h +165 -0
  126. package/include/gio-unix-2.0/gio/gdesktopappinfo.h +200 -0
  127. package/include/gio-unix-2.0/gio/gfiledescriptorbased.h +67 -0
  128. package/include/gio-unix-2.0/gio/gunixfdmessage.h +86 -0
  129. package/include/gio-unix-2.0/gio/gunixinputstream.h +85 -0
  130. package/include/gio-unix-2.0/gio/gunixmounts.h +172 -0
  131. package/include/gio-unix-2.0/gio/gunixoutputstream.h +84 -0
  132. package/include/glib-2.0/gio/gaction.h +100 -0
  133. package/include/glib-2.0/gio/gactiongroup.h +163 -0
  134. package/include/glib-2.0/gio/gactiongroupexporter.h +47 -0
  135. package/include/glib-2.0/gio/gactionmap.h +101 -0
  136. package/include/glib-2.0/gio/gappinfo.h +369 -0
  137. package/include/glib-2.0/gio/gapplication.h +257 -0
  138. package/include/glib-2.0/gio/gapplicationcommandline.h +124 -0
  139. package/include/glib-2.0/gio/gasyncinitable.h +132 -0
  140. package/include/glib-2.0/gio/gasyncresult.h +87 -0
  141. package/include/glib-2.0/gio/gbufferedinputstream.h +135 -0
  142. package/include/glib-2.0/gio/gbufferedoutputstream.h +88 -0
  143. package/include/glib-2.0/gio/gbytesicon.h +54 -0
  144. package/include/glib-2.0/gio/gcancellable.h +120 -0
  145. package/include/glib-2.0/gio/gcharsetconverter.h +65 -0
  146. package/include/glib-2.0/gio/gcontenttype.h +84 -0
  147. package/include/glib-2.0/gio/gconverter.h +98 -0
  148. package/include/glib-2.0/gio/gconverterinputstream.h +82 -0
  149. package/include/glib-2.0/gio/gconverteroutputstream.h +82 -0
  150. package/include/glib-2.0/gio/gcredentials.h +87 -0
  151. package/include/glib-2.0/gio/gdatagrambased.h +146 -0
  152. package/include/glib-2.0/gio/gdatainputstream.h +182 -0
  153. package/include/glib-2.0/gio/gdataoutputstream.h +127 -0
  154. package/include/glib-2.0/gio/gdbusactiongroup.h +56 -0
  155. package/include/glib-2.0/gio/gdbusaddress.h +67 -0
  156. package/include/glib-2.0/gio/gdbusauthobserver.h +53 -0
  157. package/include/glib-2.0/gio/gdbusconnection.h +691 -0
  158. package/include/glib-2.0/gio/gdbuserror.h +111 -0
  159. package/include/glib-2.0/gio/gdbusinterface.h +83 -0
  160. package/include/glib-2.0/gio/gdbusinterfaceskeleton.h +129 -0
  161. package/include/glib-2.0/gio/gdbusintrospection.h +327 -0
  162. package/include/glib-2.0/gio/gdbusmenumodel.h +47 -0
  163. package/include/glib-2.0/gio/gdbusmessage.h +204 -0
  164. package/include/glib-2.0/gio/gdbusmethodinvocation.h +136 -0
  165. package/include/glib-2.0/gio/gdbusnameowning.h +117 -0
  166. package/include/glib-2.0/gio/gdbusnamewatching.h +104 -0
  167. package/include/glib-2.0/gio/gdbusobject.h +80 -0
  168. package/include/glib-2.0/gio/gdbusobjectmanager.h +96 -0
  169. package/include/glib-2.0/gio/gdbusobjectmanagerclient.h +148 -0
  170. package/include/glib-2.0/gio/gdbusobjectmanagerserver.h +95 -0
  171. package/include/glib-2.0/gio/gdbusobjectproxy.h +81 -0
  172. package/include/glib-2.0/gio/gdbusobjectskeleton.h +98 -0
  173. package/include/glib-2.0/gio/gdbusproxy.h +220 -0
  174. package/include/glib-2.0/gio/gdbusserver.h +62 -0
  175. package/include/glib-2.0/gio/gdbusutils.h +65 -0
  176. package/include/glib-2.0/gio/gdebugcontroller.h +81 -0
  177. package/include/glib-2.0/gio/gdebugcontrollerdbus.h +71 -0
  178. package/include/glib-2.0/gio/gdrive.h +274 -0
  179. package/include/glib-2.0/gio/gdtlsclientconnection.h +77 -0
  180. package/include/glib-2.0/gio/gdtlsconnection.h +230 -0
  181. package/include/glib-2.0/gio/gdtlsserverconnection.h +71 -0
  182. package/include/glib-2.0/gio/gemblem.h +63 -0
  183. package/include/glib-2.0/gio/gemblemedicon.h +83 -0
  184. package/include/glib-2.0/gio/gfile.h +1359 -0
  185. package/include/glib-2.0/gio/gfileattribute.h +86 -0
  186. package/include/glib-2.0/gio/gfileenumerator.h +154 -0
  187. package/include/glib-2.0/gio/gfileicon.h +59 -0
  188. package/include/glib-2.0/gio/gfileinfo.h +1546 -0
  189. package/include/glib-2.0/gio/gfileinputstream.h +116 -0
  190. package/include/glib-2.0/gio/gfileiostream.h +123 -0
  191. package/include/glib-2.0/gio/gfilemonitor.h +100 -0
  192. package/include/glib-2.0/gio/gfilenamecompleter.h +81 -0
  193. package/include/glib-2.0/gio/gfileoutputstream.h +124 -0
  194. package/include/glib-2.0/gio/gfilterinputstream.h +80 -0
  195. package/include/glib-2.0/gio/gfilteroutputstream.h +80 -0
  196. package/include/glib-2.0/gio/gicon.h +133 -0
  197. package/include/glib-2.0/gio/ginetaddress.h +125 -0
  198. package/include/glib-2.0/gio/ginetaddressmask.h +86 -0
  199. package/include/glib-2.0/gio/ginetsocketaddress.h +80 -0
  200. package/include/glib-2.0/gio/ginitable.h +107 -0
  201. package/include/glib-2.0/gio/ginputstream.h +218 -0
  202. package/include/glib-2.0/gio/gio-autocleanups.h +155 -0
  203. package/include/glib-2.0/gio/gio-visibility.h +952 -0
  204. package/include/glib-2.0/gio/gio.h +186 -0
  205. package/include/glib-2.0/gio/gioenums.h +2149 -0
  206. package/include/glib-2.0/gio/gioenumtypes.h +207 -0
  207. package/include/glib-2.0/gio/gioerror.h +58 -0
  208. package/include/glib-2.0/gio/giomodule.h +199 -0
  209. package/include/glib-2.0/gio/gioscheduler.h +56 -0
  210. package/include/glib-2.0/gio/giostream.h +137 -0
  211. package/include/glib-2.0/gio/giotypes.h +660 -0
  212. package/include/glib-2.0/gio/glistmodel.h +74 -0
  213. package/include/glib-2.0/gio/gliststore.h +97 -0
  214. package/include/glib-2.0/gio/gloadableicon.h +101 -0
  215. package/include/glib-2.0/gio/gmemoryinputstream.h +92 -0
  216. package/include/glib-2.0/gio/gmemorymonitor.h +64 -0
  217. package/include/glib-2.0/gio/gmemoryoutputstream.h +109 -0
  218. package/include/glib-2.0/gio/gmenu.h +184 -0
  219. package/include/glib-2.0/gio/gmenuexporter.h +55 -0
  220. package/include/glib-2.0/gio/gmenumodel.h +307 -0
  221. package/include/glib-2.0/gio/gmount.h +278 -0
  222. package/include/glib-2.0/gio/gmountoperation.h +179 -0
  223. package/include/glib-2.0/gio/gnativesocketaddress.h +67 -0
  224. package/include/glib-2.0/gio/gnativevolumemonitor.h +63 -0
  225. package/include/glib-2.0/gio/gnetworkaddress.h +82 -0
  226. package/include/glib-2.0/gio/gnetworking.h +81 -0
  227. package/include/glib-2.0/gio/gnetworkmonitor.h +101 -0
  228. package/include/glib-2.0/gio/gnetworkservice.h +77 -0
  229. package/include/glib-2.0/gio/gnotification.h +103 -0
  230. package/include/glib-2.0/gio/goutputstream.h +334 -0
  231. package/include/glib-2.0/gio/gpermission.h +129 -0
  232. package/include/glib-2.0/gio/gpollableinputstream.h +106 -0
  233. package/include/glib-2.0/gio/gpollableoutputstream.h +127 -0
  234. package/include/glib-2.0/gio/gpollableutils.h +66 -0
  235. package/include/glib-2.0/gio/gpowerprofilemonitor.h +65 -0
  236. package/include/glib-2.0/gio/gpropertyaction.h +49 -0
  237. package/include/glib-2.0/gio/gproxy.h +130 -0
  238. package/include/glib-2.0/gio/gproxyaddress.h +88 -0
  239. package/include/glib-2.0/gio/gproxyaddressenumerator.h +83 -0
  240. package/include/glib-2.0/gio/gproxyresolver.h +97 -0
  241. package/include/glib-2.0/gio/gremoteactiongroup.h +77 -0
  242. package/include/glib-2.0/gio/gresolver.h +299 -0
  243. package/include/glib-2.0/gio/gresource.h +132 -0
  244. package/include/glib-2.0/gio/gseekable.h +105 -0
  245. package/include/glib-2.0/gio/gsettings.h +347 -0
  246. package/include/glib-2.0/gio/gsettingsbackend.h +176 -0
  247. package/include/glib-2.0/gio/gsettingsschema.h +115 -0
  248. package/include/glib-2.0/gio/gsimpleaction.h +65 -0
  249. package/include/glib-2.0/gio/gsimpleactiongroup.h +99 -0
  250. package/include/glib-2.0/gio/gsimpleasyncresult.h +164 -0
  251. package/include/glib-2.0/gio/gsimpleiostream.h +47 -0
  252. package/include/glib-2.0/gio/gsimplepermission.h +47 -0
  253. package/include/glib-2.0/gio/gsimpleproxyresolver.h +91 -0
  254. package/include/glib-2.0/gio/gsocket.h +330 -0
  255. package/include/glib-2.0/gio/gsocketaddress.h +84 -0
  256. package/include/glib-2.0/gio/gsocketaddressenumerator.h +103 -0
  257. package/include/glib-2.0/gio/gsocketclient.h +199 -0
  258. package/include/glib-2.0/gio/gsocketconnectable.h +83 -0
  259. package/include/glib-2.0/gio/gsocketconnection.h +117 -0
  260. package/include/glib-2.0/gio/gsocketcontrolmessage.h +113 -0
  261. package/include/glib-2.0/gio/gsocketlistener.h +157 -0
  262. package/include/glib-2.0/gio/gsocketservice.h +95 -0
  263. package/include/glib-2.0/gio/gsrvtarget.h +60 -0
  264. package/include/glib-2.0/gio/gsubprocess.h +169 -0
  265. package/include/glib-2.0/gio/gsubprocesslauncher.h +121 -0
  266. package/include/glib-2.0/gio/gtask.h +207 -0
  267. package/include/glib-2.0/gio/gtcpconnection.h +71 -0
  268. package/include/glib-2.0/gio/gtcpwrapperconnection.h +71 -0
  269. package/include/glib-2.0/gio/gtestdbus.h +74 -0
  270. package/include/glib-2.0/gio/gthemedicon.h +70 -0
  271. package/include/glib-2.0/gio/gthreadedsocketservice.h +83 -0
  272. package/include/glib-2.0/gio/gtlsbackend.h +115 -0
  273. package/include/glib-2.0/gio/gtlscertificate.h +125 -0
  274. package/include/glib-2.0/gio/gtlsclientconnection.h +88 -0
  275. package/include/glib-2.0/gio/gtlsconnection.h +214 -0
  276. package/include/glib-2.0/gio/gtlsdatabase.h +249 -0
  277. package/include/glib-2.0/gio/gtlsfiledatabase.h +60 -0
  278. package/include/glib-2.0/gio/gtlsinteraction.h +150 -0
  279. package/include/glib-2.0/gio/gtlspassword.h +121 -0
  280. package/include/glib-2.0/gio/gtlsserverconnection.h +71 -0
  281. package/include/glib-2.0/gio/gunixconnection.h +102 -0
  282. package/include/glib-2.0/gio/gunixcredentialsmessage.h +89 -0
  283. package/include/glib-2.0/gio/gunixfdlist.h +97 -0
  284. package/include/glib-2.0/gio/gunixsocketaddress.h +83 -0
  285. package/include/glib-2.0/gio/gvfs.h +170 -0
  286. package/include/glib-2.0/gio/gvolume.h +255 -0
  287. package/include/glib-2.0/gio/gvolumemonitor.h +156 -0
  288. package/include/glib-2.0/gio/gzlibcompressor.h +64 -0
  289. package/include/glib-2.0/gio/gzlibdecompressor.h +60 -0
  290. package/include/glib-2.0/glib/deprecated/gallocator.h +88 -0
  291. package/include/glib-2.0/glib/deprecated/gcache.h +77 -0
  292. package/include/glib-2.0/glib/deprecated/gcompletion.h +85 -0
  293. package/include/glib-2.0/glib/deprecated/gmain.h +137 -0
  294. package/include/glib-2.0/glib/deprecated/grel.h +107 -0
  295. package/include/glib-2.0/glib/deprecated/gthread.h +295 -0
  296. package/include/glib-2.0/glib/galloca.h +147 -0
  297. package/include/glib-2.0/glib/garray.h +323 -0
  298. package/include/glib-2.0/glib/gasyncqueue.h +126 -0
  299. package/include/glib-2.0/glib/gatomic.h +587 -0
  300. package/include/glib-2.0/glib/gbacktrace.h +74 -0
  301. package/include/glib-2.0/glib/gbase64.h +63 -0
  302. package/include/glib-2.0/glib/gbitlock.h +78 -0
  303. package/include/glib-2.0/glib/gbookmarkfile.h +300 -0
  304. package/include/glib-2.0/glib/gbytes.h +99 -0
  305. package/include/glib-2.0/glib/gcharset.h +49 -0
  306. package/include/glib-2.0/glib/gchecksum.h +106 -0
  307. package/include/glib-2.0/glib/gconvert.h +179 -0
  308. package/include/glib-2.0/glib/gdataset.h +156 -0
  309. package/include/glib-2.0/glib/gdate.h +309 -0
  310. package/include/glib-2.0/glib/gdatetime.h +275 -0
  311. package/include/glib-2.0/glib/gdir.h +54 -0
  312. package/include/glib-2.0/glib/genviron.h +65 -0
  313. package/include/glib-2.0/glib/gerror.h +263 -0
  314. package/include/glib-2.0/glib/gfileutils.h +223 -0
  315. package/include/glib-2.0/glib/ggettext.h +65 -0
  316. package/include/glib-2.0/glib/ghash.h +206 -0
  317. package/include/glib-2.0/glib/ghmac.h +85 -0
  318. package/include/glib-2.0/glib/ghook.h +204 -0
  319. package/include/glib-2.0/glib/ghostutils.h +45 -0
  320. package/include/glib-2.0/glib/gi18n-lib.h +38 -0
  321. package/include/glib-2.0/glib/gi18n.h +34 -0
  322. package/include/glib-2.0/glib/giochannel.h +407 -0
  323. package/include/glib-2.0/glib/gkeyfile.h +332 -0
  324. package/include/glib-2.0/glib/glib-autocleanups.h +105 -0
  325. package/include/glib-2.0/glib/glib-typeof.h +47 -0
  326. package/include/glib-2.0/glib/glib-visibility.h +952 -0
  327. package/include/glib-2.0/glib/glist.h +179 -0
  328. package/include/glib-2.0/glib/gmacros.h +1425 -0
  329. package/include/glib-2.0/glib/gmain.h +862 -0
  330. package/include/glib-2.0/glib/gmappedfile.h +60 -0
  331. package/include/glib-2.0/glib/gmarkup.h +265 -0
  332. package/include/glib-2.0/glib/gmem.h +425 -0
  333. package/include/glib-2.0/glib/gmessages.h +690 -0
  334. package/include/glib-2.0/glib/gnode.h +309 -0
  335. package/include/glib-2.0/glib/goption.h +409 -0
  336. package/include/glib-2.0/glib/gpathbuf.h +90 -0
  337. package/include/glib-2.0/glib/gpattern.h +65 -0
  338. package/include/glib-2.0/glib/gpoll.h +122 -0
  339. package/include/glib-2.0/glib/gprimes.h +52 -0
  340. package/include/glib-2.0/glib/gprintf.h +59 -0
  341. package/include/glib-2.0/glib/gqsort.h +47 -0
  342. package/include/glib-2.0/glib/gquark.h +70 -0
  343. package/include/glib-2.0/glib/gqueue.h +205 -0
  344. package/include/glib-2.0/glib/grand.h +101 -0
  345. package/include/glib-2.0/glib/grcbox.h +91 -0
  346. package/include/glib-2.0/glib/grefcount.h +179 -0
  347. package/include/glib-2.0/glib/grefstring.h +59 -0
  348. package/include/glib-2.0/glib/gscanner.h +301 -0
  349. package/include/glib-2.0/glib/gsequence.h +175 -0
  350. package/include/glib-2.0/glib/gshell.h +59 -0
  351. package/include/glib-2.0/glib/gslice.h +117 -0
  352. package/include/glib-2.0/glib/gslist.h +166 -0
  353. package/include/glib-2.0/glib/gspawn.h +323 -0
  354. package/include/glib-2.0/glib/gstdio.h +231 -0
  355. package/include/glib-2.0/glib/gstrfuncs.h +504 -0
  356. package/include/glib-2.0/glib/gstring.h +296 -0
  357. package/include/glib-2.0/glib/gstringchunk.h +59 -0
  358. package/include/glib-2.0/glib/gstrvbuilder.h +69 -0
  359. package/include/glib-2.0/glib/gtestutils.h +763 -0
  360. package/include/glib-2.0/glib/gthread.h +603 -0
  361. package/include/glib-2.0/glib/gthreadpool.h +105 -0
  362. package/include/glib-2.0/glib/gtimer.h +80 -0
  363. package/include/glib-2.0/glib/gtimezone.h +98 -0
  364. package/include/glib-2.0/glib/gtrashstack.h +60 -0
  365. package/include/glib-2.0/glib/gtree.h +181 -0
  366. package/include/glib-2.0/glib/gtypes.h +591 -0
  367. package/include/glib-2.0/glib/gunicode.h +974 -0
  368. package/include/glib-2.0/glib/guri.h +420 -0
  369. package/include/glib-2.0/glib/gutils.h +479 -0
  370. package/include/glib-2.0/glib/guuid.h +42 -0
  371. package/include/glib-2.0/glib/gvariant.h +541 -0
  372. package/include/glib-2.0/glib/gvarianttype.h +384 -0
  373. package/include/glib-2.0/glib/gversion.h +57 -0
  374. package/include/glib-2.0/glib/gversionmacros.h +490 -0
  375. package/include/glib-2.0/glib/gwin32.h +142 -0
  376. package/include/glib-2.0/glib-object.h +46 -0
  377. package/include/glib-2.0/glib-unix.h +125 -0
  378. package/include/glib-2.0/glib.h +121 -0
  379. package/include/glib-2.0/gmodule/gmodule-visibility.h +952 -0
  380. package/include/glib-2.0/gmodule.h +147 -0
  381. package/include/glib-2.0/gobject/gbinding.h +156 -0
  382. package/include/glib-2.0/gobject/gbindinggroup.h +85 -0
  383. package/include/glib-2.0/gobject/gboxed.h +124 -0
  384. package/include/glib-2.0/gobject/gclosure.h +323 -0
  385. package/include/glib-2.0/gobject/genums.h +381 -0
  386. package/include/glib-2.0/gobject/glib-enumtypes.h +25 -0
  387. package/include/glib-2.0/gobject/glib-types.h +400 -0
  388. package/include/glib-2.0/gobject/gmarshal.h +434 -0
  389. package/include/glib-2.0/gobject/gobject-autocleanups.h +33 -0
  390. package/include/glib-2.0/gobject/gobject-visibility.h +952 -0
  391. package/include/glib-2.0/gobject/gobject.h +953 -0
  392. package/include/glib-2.0/gobject/gobjectnotifyqueue.c +199 -0
  393. package/include/glib-2.0/gobject/gparam.h +476 -0
  394. package/include/glib-2.0/gobject/gparamspecs.h +1151 -0
  395. package/include/glib-2.0/gobject/gsignal.h +647 -0
  396. package/include/glib-2.0/gobject/gsignalgroup.h +98 -0
  397. package/include/glib-2.0/gobject/gsourceclosure.h +40 -0
  398. package/include/glib-2.0/gobject/gtype.h +2703 -0
  399. package/include/glib-2.0/gobject/gtypemodule.h +302 -0
  400. package/include/glib-2.0/gobject/gtypeplugin.h +136 -0
  401. package/include/glib-2.0/gobject/gvalue.h +212 -0
  402. package/include/glib-2.0/gobject/gvaluearray.h +106 -0
  403. package/include/glib-2.0/gobject/gvaluecollector.h +290 -0
  404. package/include/glib-2.0/gobject/gvaluetypes.h +318 -0
  405. package/include/harfbuzz/hb-aat-layout.h +795 -0
  406. package/include/harfbuzz/hb-aat.h +38 -0
  407. package/include/harfbuzz/hb-blob.h +160 -0
  408. package/include/harfbuzz/hb-buffer.h +799 -0
  409. package/include/harfbuzz/hb-common.h +938 -0
  410. package/include/harfbuzz/hb-cplusplus.hh +223 -0
  411. package/include/harfbuzz/hb-deprecated.h +309 -0
  412. package/include/harfbuzz/hb-draw.h +340 -0
  413. package/include/harfbuzz/hb-face.h +187 -0
  414. package/include/harfbuzz/hb-features.h +119 -0
  415. package/include/harfbuzz/hb-font.h +1153 -0
  416. package/include/harfbuzz/hb-ft.h +145 -0
  417. package/include/harfbuzz/hb-glib.h +56 -0
  418. package/include/harfbuzz/hb-map.h +143 -0
  419. package/include/harfbuzz/hb-ot-color.h +155 -0
  420. package/include/harfbuzz/hb-ot-deprecated.h +147 -0
  421. package/include/harfbuzz/hb-ot-font.h +45 -0
  422. package/include/harfbuzz/hb-ot-layout.h +549 -0
  423. package/include/harfbuzz/hb-ot-math.h +333 -0
  424. package/include/harfbuzz/hb-ot-meta.h +72 -0
  425. package/include/harfbuzz/hb-ot-metrics.h +129 -0
  426. package/include/harfbuzz/hb-ot-name.h +164 -0
  427. package/include/harfbuzz/hb-ot-shape.h +53 -0
  428. package/include/harfbuzz/hb-ot-var.h +191 -0
  429. package/include/harfbuzz/hb-ot.h +49 -0
  430. package/include/harfbuzz/hb-paint.h +1029 -0
  431. package/include/harfbuzz/hb-set.h +203 -0
  432. package/include/harfbuzz/hb-shape-plan.h +122 -0
  433. package/include/harfbuzz/hb-shape.h +74 -0
  434. package/include/harfbuzz/hb-style.h +81 -0
  435. package/include/harfbuzz/hb-subset-repacker.h +81 -0
  436. package/include/harfbuzz/hb-subset.h +241 -0
  437. package/include/harfbuzz/hb-unicode.h +643 -0
  438. package/include/harfbuzz/hb-version.h +95 -0
  439. package/include/harfbuzz/hb.h +51 -0
  440. package/include/index.js +1 -0
  441. package/include/jconfig.h +37 -0
  442. package/include/jerror.h +335 -0
  443. package/include/jmorecfg.h +382 -0
  444. package/include/jpeglib.h +1210 -0
  445. package/include/lcms2.h +1958 -0
  446. package/include/lcms2_plugin.h +700 -0
  447. package/include/libexif/_stdint.h +2 -0
  448. package/include/libexif/exif-byte-order.h +48 -0
  449. package/include/libexif/exif-content.h +181 -0
  450. package/include/libexif/exif-data-type.h +46 -0
  451. package/include/libexif/exif-data.h +267 -0
  452. package/include/libexif/exif-entry.h +186 -0
  453. package/include/libexif/exif-format.h +65 -0
  454. package/include/libexif/exif-ifd.h +51 -0
  455. package/include/libexif/exif-loader.h +128 -0
  456. package/include/libexif/exif-log.h +116 -0
  457. package/include/libexif/exif-mem.h +91 -0
  458. package/include/libexif/exif-mnote-data.h +122 -0
  459. package/include/libexif/exif-tag.h +307 -0
  460. package/include/libexif/exif-utils.h +194 -0
  461. package/include/libheif/heif.h +2092 -0
  462. package/include/libheif/heif_cxx.h +1359 -0
  463. package/include/libheif/heif_plugin.h +306 -0
  464. package/include/libheif/heif_version.h +38 -0
  465. package/include/libimagequant.h +111 -0
  466. package/include/libpng16/png.h +3247 -0
  467. package/include/libpng16/pngconf.h +623 -0
  468. package/include/libpng16/pnglibconf.h +219 -0
  469. package/include/librsvg-2.0/librsvg/rsvg-cairo.h +395 -0
  470. package/include/librsvg-2.0/librsvg/rsvg-features.h +184 -0
  471. package/include/librsvg-2.0/librsvg/rsvg-version.h +13 -0
  472. package/include/librsvg-2.0/librsvg/rsvg.h +1456 -0
  473. package/include/libxml2/libxml/HTMLparser.h +320 -0
  474. package/include/libxml2/libxml/HTMLtree.h +147 -0
  475. package/include/libxml2/libxml/SAX.h +204 -0
  476. package/include/libxml2/libxml/SAX2.h +173 -0
  477. package/include/libxml2/libxml/c14n.h +128 -0
  478. package/include/libxml2/libxml/catalog.h +182 -0
  479. package/include/libxml2/libxml/chvalid.h +230 -0
  480. package/include/libxml2/libxml/debugXML.h +217 -0
  481. package/include/libxml2/libxml/dict.h +81 -0
  482. package/include/libxml2/libxml/encoding.h +233 -0
  483. package/include/libxml2/libxml/entities.h +151 -0
  484. package/include/libxml2/libxml/globals.h +529 -0
  485. package/include/libxml2/libxml/hash.h +236 -0
  486. package/include/libxml2/libxml/list.h +137 -0
  487. package/include/libxml2/libxml/nanoftp.h +186 -0
  488. package/include/libxml2/libxml/nanohttp.h +81 -0
  489. package/include/libxml2/libxml/parser.h +1265 -0
  490. package/include/libxml2/libxml/parserInternals.h +662 -0
  491. package/include/libxml2/libxml/pattern.h +100 -0
  492. package/include/libxml2/libxml/relaxng.h +218 -0
  493. package/include/libxml2/libxml/schemasInternals.h +958 -0
  494. package/include/libxml2/libxml/schematron.h +142 -0
  495. package/include/libxml2/libxml/threads.h +94 -0
  496. package/include/libxml2/libxml/tree.h +1314 -0
  497. package/include/libxml2/libxml/uri.h +94 -0
  498. package/include/libxml2/libxml/valid.h +448 -0
  499. package/include/libxml2/libxml/xinclude.h +129 -0
  500. package/include/libxml2/libxml/xlink.h +189 -0
  501. package/include/libxml2/libxml/xmlIO.h +369 -0
  502. package/include/libxml2/libxml/xmlautomata.h +146 -0
  503. package/include/libxml2/libxml/xmlerror.h +919 -0
  504. package/include/libxml2/libxml/xmlexports.h +50 -0
  505. package/include/libxml2/libxml/xmlmemory.h +228 -0
  506. package/include/libxml2/libxml/xmlmodule.h +57 -0
  507. package/include/libxml2/libxml/xmlreader.h +428 -0
  508. package/include/libxml2/libxml/xmlregexp.h +222 -0
  509. package/include/libxml2/libxml/xmlsave.h +88 -0
  510. package/include/libxml2/libxml/xmlschemas.h +246 -0
  511. package/include/libxml2/libxml/xmlschemastypes.h +152 -0
  512. package/include/libxml2/libxml/xmlstring.h +140 -0
  513. package/include/libxml2/libxml/xmlunicode.h +202 -0
  514. package/include/libxml2/libxml/xmlversion.h +526 -0
  515. package/include/libxml2/libxml/xmlwriter.h +488 -0
  516. package/include/libxml2/libxml/xpath.h +575 -0
  517. package/include/libxml2/libxml/xpathInternals.h +632 -0
  518. package/include/libxml2/libxml/xpointer.h +137 -0
  519. package/include/orc-0.4/orc/orc-stdint.h +1 -0
  520. package/include/orc-0.4/orc/orc.h +16 -0
  521. package/include/orc-0.4/orc/orcarm.h +879 -0
  522. package/include/orc-0.4/orc/orcbytecode.h +35 -0
  523. package/include/orc-0.4/orc/orcbytecodes.h +255 -0
  524. package/include/orc-0.4/orc/orccode.h +53 -0
  525. package/include/orc-0.4/orc/orccompiler.h +176 -0
  526. package/include/orc-0.4/orc/orcconstant.h +39 -0
  527. package/include/orc-0.4/orc/orccpu.h +21 -0
  528. package/include/orc-0.4/orc/orccpuinsn.h +40 -0
  529. package/include/orc-0.4/orc/orcdebug.h +158 -0
  530. package/include/orc-0.4/orc/orcemulateopcodes.h +203 -0
  531. package/include/orc-0.4/orc/orcexecutor.h +135 -0
  532. package/include/orc-0.4/orc/orcfunctions.h +93 -0
  533. package/include/orc-0.4/orc/orcinstruction.h +39 -0
  534. package/include/orc-0.4/orc/orcinternal.h +46 -0
  535. package/include/orc-0.4/orc/orclimits.h +94 -0
  536. package/include/orc-0.4/orc/orcmips.h +229 -0
  537. package/include/orc-0.4/orc/orcmmx.h +79 -0
  538. package/include/orc-0.4/orc/orcneon.h +43 -0
  539. package/include/orc-0.4/orc/orconce.h +166 -0
  540. package/include/orc-0.4/orc/orcopcode.h +63 -0
  541. package/include/orc-0.4/orc/orcparse.h +27 -0
  542. package/include/orc-0.4/orc/orcpowerpc.h +209 -0
  543. package/include/orc-0.4/orc/orcprogram.h +192 -0
  544. package/include/orc-0.4/orc/orcrule.h +52 -0
  545. package/include/orc-0.4/orc/orcsse.h +55 -0
  546. package/include/orc-0.4/orc/orctarget.h +115 -0
  547. package/include/orc-0.4/orc/orcutils.h +238 -0
  548. package/include/orc-0.4/orc/orcvariable.h +81 -0
  549. package/include/orc-0.4/orc/orcx86.h +199 -0
  550. package/include/orc-0.4/orc/orcx86insn.h +672 -0
  551. package/include/pango-1.0/pango/pango-attributes.h +748 -0
  552. package/include/pango-1.0/pango/pango-bidi-type.h +117 -0
  553. package/include/pango-1.0/pango/pango-break.h +144 -0
  554. package/include/pango-1.0/pango/pango-color.h +75 -0
  555. package/include/pango-1.0/pango/pango-context.h +116 -0
  556. package/include/pango-1.0/pango/pango-coverage.h +108 -0
  557. package/include/pango-1.0/pango/pango-direction.h +72 -0
  558. package/include/pango-1.0/pango/pango-engine.h +457 -0
  559. package/include/pango-1.0/pango/pango-enum-types.h +120 -0
  560. package/include/pango-1.0/pango/pango-features.h +10 -0
  561. package/include/pango-1.0/pango/pango-font.h +699 -0
  562. package/include/pango-1.0/pango/pango-fontmap.h +132 -0
  563. package/include/pango-1.0/pango/pango-fontset-simple.h +64 -0
  564. package/include/pango-1.0/pango/pango-fontset.h +134 -0
  565. package/include/pango-1.0/pango/pango-glyph-item.h +175 -0
  566. package/include/pango-1.0/pango/pango-glyph.h +270 -0
  567. package/include/pango-1.0/pango/pango-gravity.h +137 -0
  568. package/include/pango-1.0/pango/pango-item.h +165 -0
  569. package/include/pango-1.0/pango/pango-language.h +70 -0
  570. package/include/pango-1.0/pango/pango-layout.h +554 -0
  571. package/include/pango-1.0/pango/pango-markup.h +52 -0
  572. package/include/pango-1.0/pango/pango-matrix.h +130 -0
  573. package/include/pango-1.0/pango/pango-modules.h +84 -0
  574. package/include/pango-1.0/pango/pango-ot.h +427 -0
  575. package/include/pango-1.0/pango/pango-renderer.h +290 -0
  576. package/include/pango-1.0/pango/pango-script.h +335 -0
  577. package/include/pango-1.0/pango/pango-tabs.h +117 -0
  578. package/include/pango-1.0/pango/pango-types.h +244 -0
  579. package/include/pango-1.0/pango/pango-utils.h +187 -0
  580. package/include/pango-1.0/pango/pango-version-macros.h +756 -0
  581. package/include/pango-1.0/pango/pango.h +54 -0
  582. package/include/pango-1.0/pango/pangocairo.h +220 -0
  583. package/include/pango-1.0/pango/pangofc-decoder.h +122 -0
  584. package/include/pango-1.0/pango/pangofc-font.h +120 -0
  585. package/include/pango-1.0/pango/pangofc-fontmap.h +244 -0
  586. package/include/pango-1.0/pango/pangoft2.h +158 -0
  587. package/include/pixman-1/pixman-version.h +54 -0
  588. package/include/pixman-1/pixman.h +1419 -0
  589. package/include/png.h +3247 -0
  590. package/include/pngconf.h +623 -0
  591. package/include/pnglibconf.h +219 -0
  592. package/include/spng.h +537 -0
  593. package/include/tiff.h +899 -0
  594. package/include/tiffconf.h +145 -0
  595. package/include/tiffio.h +653 -0
  596. package/include/tiffvers.h +36 -0
  597. package/include/vips/VConnection8.h +150 -0
  598. package/include/vips/VError8.h +76 -0
  599. package/include/vips/VImage8.h +6065 -0
  600. package/include/vips/VInterpolate8.h +77 -0
  601. package/include/vips/VRegion8.h +155 -0
  602. package/include/vips/arithmetic.h +571 -0
  603. package/include/vips/basic.h +113 -0
  604. package/include/vips/buf.h +118 -0
  605. package/include/vips/colour.h +306 -0
  606. package/include/vips/connection.h +570 -0
  607. package/include/vips/conversion.h +357 -0
  608. package/include/vips/convolution.h +95 -0
  609. package/include/vips/create.h +161 -0
  610. package/include/vips/dbuf.h +103 -0
  611. package/include/vips/debug.h +74 -0
  612. package/include/vips/draw.h +113 -0
  613. package/include/vips/enumtypes.h +181 -0
  614. package/include/vips/error.h +142 -0
  615. package/include/vips/foreign.h +993 -0
  616. package/include/vips/format.h +135 -0
  617. package/include/vips/freqfilt.h +64 -0
  618. package/include/vips/gate.h +82 -0
  619. package/include/vips/generate.h +92 -0
  620. package/include/vips/header.h +312 -0
  621. package/include/vips/histogram.h +85 -0
  622. package/include/vips/image.h +605 -0
  623. package/include/vips/interpolate.h +141 -0
  624. package/include/vips/memory.h +96 -0
  625. package/include/vips/morphology.h +73 -0
  626. package/include/vips/mosaicing.h +80 -0
  627. package/include/vips/object.h +706 -0
  628. package/include/vips/operation.h +182 -0
  629. package/include/vips/private.h +227 -0
  630. package/include/vips/rect.h +80 -0
  631. package/include/vips/region.h +238 -0
  632. package/include/vips/resample.h +123 -0
  633. package/include/vips/sbuf.h +144 -0
  634. package/include/vips/semaphore.h +77 -0
  635. package/include/vips/thread.h +72 -0
  636. package/include/vips/threadpool.h +160 -0
  637. package/include/vips/transform.h +89 -0
  638. package/include/vips/type.h +305 -0
  639. package/include/vips/util.h +406 -0
  640. package/include/vips/vector.h +183 -0
  641. package/include/vips/version.h +26 -0
  642. package/include/vips/vips.h +194 -0
  643. package/include/vips/vips8 +60 -0
  644. package/include/webp/decode.h +504 -0
  645. package/include/webp/demux.h +363 -0
  646. package/include/webp/encode.h +552 -0
  647. package/include/webp/mux.h +530 -0
  648. package/include/webp/mux_types.h +98 -0
  649. package/include/webp/sharpyuv/sharpyuv.h +103 -0
  650. package/include/webp/sharpyuv/sharpyuv_csp.h +60 -0
  651. package/include/webp/types.h +72 -0
  652. package/include/zconf.h +203 -0
  653. package/include/zlib.h +1855 -0
  654. package/include/zlib_name_mangling.h +8 -0
  655. package/package.json +30 -0
  656. package/versions.json +31 -0
@@ -0,0 +1,938 @@
1
+ /*
2
+ * Copyright © 2007,2008,2009 Red Hat, Inc.
3
+ * Copyright © 2011,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
+ #if !defined(HB_H_IN) && !defined(HB_NO_SINGLE_HEADER_ERROR)
30
+ #error "Include <hb.h> instead."
31
+ #endif
32
+
33
+ #ifndef HB_COMMON_H
34
+ #define HB_COMMON_H
35
+
36
+ #ifndef HB_EXTERN
37
+ #define HB_EXTERN extern
38
+ #endif
39
+
40
+ #ifndef HB_BEGIN_DECLS
41
+ # ifdef __cplusplus
42
+ # define HB_BEGIN_DECLS extern "C" {
43
+ # define HB_END_DECLS }
44
+ # else /* !__cplusplus */
45
+ # define HB_BEGIN_DECLS
46
+ # define HB_END_DECLS
47
+ # endif /* !__cplusplus */
48
+ #endif
49
+
50
+ #if defined (_SVR4) || defined (SVR4) || defined (__OpenBSD__) || \
51
+ defined (_sgi) || defined (__sun) || defined (sun) || \
52
+ defined (__digital__) || defined (__HP_cc)
53
+ # include <inttypes.h>
54
+ #elif defined (_AIX)
55
+ # include <sys/inttypes.h>
56
+ #elif defined (_MSC_VER) && _MSC_VER < 1600
57
+ /* VS 2010 (_MSC_VER 1600) has stdint.h */
58
+ typedef __int8 int8_t;
59
+ typedef unsigned __int8 uint8_t;
60
+ typedef __int16 int16_t;
61
+ typedef unsigned __int16 uint16_t;
62
+ typedef __int32 int32_t;
63
+ typedef unsigned __int32 uint32_t;
64
+ typedef __int64 int64_t;
65
+ typedef unsigned __int64 uint64_t;
66
+ #elif defined (__KERNEL__)
67
+ # include <linux/types.h>
68
+ #else
69
+ # include <stdint.h>
70
+ #endif
71
+
72
+ #if defined(__GNUC__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))
73
+ #define HB_DEPRECATED __attribute__((__deprecated__))
74
+ #elif defined(_MSC_VER) && (_MSC_VER >= 1300)
75
+ #define HB_DEPRECATED __declspec(deprecated)
76
+ #else
77
+ #define HB_DEPRECATED
78
+ #endif
79
+
80
+ #if defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5))
81
+ #define HB_DEPRECATED_FOR(f) __attribute__((__deprecated__("Use '" #f "' instead")))
82
+ #elif defined(_MSC_FULL_VER) && (_MSC_FULL_VER > 140050320)
83
+ #define HB_DEPRECATED_FOR(f) __declspec(deprecated("is deprecated. Use '" #f "' instead"))
84
+ #else
85
+ #define HB_DEPRECATED_FOR(f) HB_DEPRECATED
86
+ #endif
87
+
88
+
89
+ HB_BEGIN_DECLS
90
+
91
+ /**
92
+ * hb_bool_t:
93
+ *
94
+ * Data type for booleans.
95
+ *
96
+ **/
97
+ typedef int hb_bool_t;
98
+
99
+ /**
100
+ * hb_codepoint_t:
101
+ *
102
+ * Data type for holding Unicode codepoints. Also
103
+ * used to hold glyph IDs.
104
+ *
105
+ **/
106
+ typedef uint32_t hb_codepoint_t;
107
+
108
+ /**
109
+ * HB_CODEPOINT_INVALID:
110
+ *
111
+ * Unused #hb_codepoint_t value.
112
+ *
113
+ * Since: 8.0.0
114
+ */
115
+ #define HB_CODEPOINT_INVALID ((hb_codepoint_t) -1)
116
+
117
+ /**
118
+ * hb_position_t:
119
+ *
120
+ * Data type for holding a single coordinate value.
121
+ * Contour points and other multi-dimensional data are
122
+ * stored as tuples of #hb_position_t's.
123
+ *
124
+ **/
125
+ typedef int32_t hb_position_t;
126
+ /**
127
+ * hb_mask_t:
128
+ *
129
+ * Data type for bitmasks.
130
+ *
131
+ **/
132
+ typedef uint32_t hb_mask_t;
133
+
134
+ typedef union _hb_var_int_t {
135
+ uint32_t u32;
136
+ int32_t i32;
137
+ uint16_t u16[2];
138
+ int16_t i16[2];
139
+ uint8_t u8[4];
140
+ int8_t i8[4];
141
+ } hb_var_int_t;
142
+
143
+ typedef union _hb_var_num_t {
144
+ float f;
145
+ uint32_t u32;
146
+ int32_t i32;
147
+ uint16_t u16[2];
148
+ int16_t i16[2];
149
+ uint8_t u8[4];
150
+ int8_t i8[4];
151
+ } hb_var_num_t;
152
+
153
+
154
+ /* hb_tag_t */
155
+
156
+ /**
157
+ * hb_tag_t:
158
+ *
159
+ * Data type for tag identifiers. Tags are four
160
+ * byte integers, each byte representing a character.
161
+ *
162
+ * Tags are used to identify tables, design-variation axes,
163
+ * scripts, languages, font features, and baselines with
164
+ * human-readable names.
165
+ *
166
+ **/
167
+ typedef uint32_t hb_tag_t;
168
+
169
+ /**
170
+ * HB_TAG:
171
+ * @c1: 1st character of the tag
172
+ * @c2: 2nd character of the tag
173
+ * @c3: 3rd character of the tag
174
+ * @c4: 4th character of the tag
175
+ *
176
+ * Constructs an #hb_tag_t from four character literals.
177
+ *
178
+ **/
179
+ #define HB_TAG(c1,c2,c3,c4) ((hb_tag_t)((((uint32_t)(c1)&0xFF)<<24)|(((uint32_t)(c2)&0xFF)<<16)|(((uint32_t)(c3)&0xFF)<<8)|((uint32_t)(c4)&0xFF)))
180
+
181
+ /**
182
+ * HB_UNTAG:
183
+ * @tag: an #hb_tag_t
184
+ *
185
+ * Extracts four character literals from an #hb_tag_t.
186
+ *
187
+ * Since: 0.6.0
188
+ *
189
+ **/
190
+ #define HB_UNTAG(tag) (uint8_t)(((tag)>>24)&0xFF), (uint8_t)(((tag)>>16)&0xFF), (uint8_t)(((tag)>>8)&0xFF), (uint8_t)((tag)&0xFF)
191
+
192
+ /**
193
+ * HB_TAG_NONE:
194
+ *
195
+ * Unset #hb_tag_t.
196
+ */
197
+ #define HB_TAG_NONE HB_TAG(0,0,0,0)
198
+ /**
199
+ * HB_TAG_MAX:
200
+ *
201
+ * Maximum possible unsigned #hb_tag_t.
202
+ *
203
+ * Since: 0.9.26
204
+ */
205
+ #define HB_TAG_MAX HB_TAG(0xff,0xff,0xff,0xff)
206
+ /**
207
+ * HB_TAG_MAX_SIGNED:
208
+ *
209
+ * Maximum possible signed #hb_tag_t.
210
+ *
211
+ * Since: 0.9.33
212
+ */
213
+ #define HB_TAG_MAX_SIGNED HB_TAG(0x7f,0xff,0xff,0xff)
214
+
215
+ /* len=-1 means str is NUL-terminated. */
216
+ HB_EXTERN hb_tag_t
217
+ hb_tag_from_string (const char *str, int len);
218
+
219
+ /* buf should have 4 bytes. */
220
+ HB_EXTERN void
221
+ hb_tag_to_string (hb_tag_t tag, char *buf);
222
+
223
+
224
+ /**
225
+ * hb_direction_t:
226
+ * @HB_DIRECTION_INVALID: Initial, unset direction.
227
+ * @HB_DIRECTION_LTR: Text is set horizontally from left to right.
228
+ * @HB_DIRECTION_RTL: Text is set horizontally from right to left.
229
+ * @HB_DIRECTION_TTB: Text is set vertically from top to bottom.
230
+ * @HB_DIRECTION_BTT: Text is set vertically from bottom to top.
231
+ *
232
+ * The direction of a text segment or buffer.
233
+ *
234
+ * A segment can also be tested for horizontal or vertical
235
+ * orientation (irrespective of specific direction) with
236
+ * HB_DIRECTION_IS_HORIZONTAL() or HB_DIRECTION_IS_VERTICAL().
237
+ *
238
+ */
239
+ typedef enum {
240
+ HB_DIRECTION_INVALID = 0,
241
+ HB_DIRECTION_LTR = 4,
242
+ HB_DIRECTION_RTL,
243
+ HB_DIRECTION_TTB,
244
+ HB_DIRECTION_BTT
245
+ } hb_direction_t;
246
+
247
+ /* len=-1 means str is NUL-terminated */
248
+ HB_EXTERN hb_direction_t
249
+ hb_direction_from_string (const char *str, int len);
250
+
251
+ HB_EXTERN const char *
252
+ hb_direction_to_string (hb_direction_t direction);
253
+
254
+ /**
255
+ * HB_DIRECTION_IS_VALID:
256
+ * @dir: #hb_direction_t to test
257
+ *
258
+ * Tests whether a text direction is valid.
259
+ *
260
+ **/
261
+ #define HB_DIRECTION_IS_VALID(dir) ((((unsigned int) (dir)) & ~3U) == 4)
262
+ /* Direction must be valid for the following */
263
+ /**
264
+ * HB_DIRECTION_IS_HORIZONTAL:
265
+ * @dir: #hb_direction_t to test
266
+ *
267
+ * Tests whether a text direction is horizontal. Requires
268
+ * that the direction be valid.
269
+ *
270
+ **/
271
+ #define HB_DIRECTION_IS_HORIZONTAL(dir) ((((unsigned int) (dir)) & ~1U) == 4)
272
+ /**
273
+ * HB_DIRECTION_IS_VERTICAL:
274
+ * @dir: #hb_direction_t to test
275
+ *
276
+ * Tests whether a text direction is vertical. Requires
277
+ * that the direction be valid.
278
+ *
279
+ **/
280
+ #define HB_DIRECTION_IS_VERTICAL(dir) ((((unsigned int) (dir)) & ~1U) == 6)
281
+ /**
282
+ * HB_DIRECTION_IS_FORWARD:
283
+ * @dir: #hb_direction_t to test
284
+ *
285
+ * Tests whether a text direction moves forward (from left to right, or from
286
+ * top to bottom). Requires that the direction be valid.
287
+ *
288
+ **/
289
+ #define HB_DIRECTION_IS_FORWARD(dir) ((((unsigned int) (dir)) & ~2U) == 4)
290
+ /**
291
+ * HB_DIRECTION_IS_BACKWARD:
292
+ * @dir: #hb_direction_t to test
293
+ *
294
+ * Tests whether a text direction moves backward (from right to left, or from
295
+ * bottom to top). Requires that the direction be valid.
296
+ *
297
+ **/
298
+ #define HB_DIRECTION_IS_BACKWARD(dir) ((((unsigned int) (dir)) & ~2U) == 5)
299
+ /**
300
+ * HB_DIRECTION_REVERSE:
301
+ * @dir: #hb_direction_t to reverse
302
+ *
303
+ * Reverses a text direction. Requires that the direction
304
+ * be valid.
305
+ *
306
+ **/
307
+ #define HB_DIRECTION_REVERSE(dir) ((hb_direction_t) (((unsigned int) (dir)) ^ 1))
308
+
309
+
310
+ /* hb_language_t */
311
+
312
+ /**
313
+ * hb_language_t:
314
+ *
315
+ * Data type for languages. Each #hb_language_t corresponds to a BCP 47
316
+ * language tag.
317
+ *
318
+ */
319
+ typedef const struct hb_language_impl_t *hb_language_t;
320
+
321
+ HB_EXTERN hb_language_t
322
+ hb_language_from_string (const char *str, int len);
323
+
324
+ HB_EXTERN const char *
325
+ hb_language_to_string (hb_language_t language);
326
+
327
+ /**
328
+ * HB_LANGUAGE_INVALID:
329
+ *
330
+ * An unset #hb_language_t.
331
+ *
332
+ * Since: 0.6.0
333
+ */
334
+ #define HB_LANGUAGE_INVALID ((hb_language_t) 0)
335
+
336
+ HB_EXTERN hb_language_t
337
+ hb_language_get_default (void);
338
+
339
+ HB_EXTERN hb_bool_t
340
+ hb_language_matches (hb_language_t language,
341
+ hb_language_t specific);
342
+
343
+ /**
344
+ * hb_script_t:
345
+ * @HB_SCRIPT_COMMON: `Zyyy`
346
+ * @HB_SCRIPT_INHERITED: `Zinh`
347
+ * @HB_SCRIPT_UNKNOWN: `Zzzz`
348
+ * @HB_SCRIPT_ARABIC: `Arab`
349
+ * @HB_SCRIPT_ARMENIAN: `Armn`
350
+ * @HB_SCRIPT_BENGALI: `Beng`
351
+ * @HB_SCRIPT_CYRILLIC: `Cyrl`
352
+ * @HB_SCRIPT_DEVANAGARI: `Deva`
353
+ * @HB_SCRIPT_GEORGIAN: `Geor`
354
+ * @HB_SCRIPT_GREEK: `Grek`
355
+ * @HB_SCRIPT_GUJARATI: `Gujr`
356
+ * @HB_SCRIPT_GURMUKHI: `Guru`
357
+ * @HB_SCRIPT_HANGUL: `Hang`
358
+ * @HB_SCRIPT_HAN: `Hani`
359
+ * @HB_SCRIPT_HEBREW: `Hebr`
360
+ * @HB_SCRIPT_HIRAGANA: `Hira`
361
+ * @HB_SCRIPT_KANNADA: `Knda`
362
+ * @HB_SCRIPT_KATAKANA: `Kana`
363
+ * @HB_SCRIPT_LAO: `Laoo`
364
+ * @HB_SCRIPT_LATIN: `Latn`
365
+ * @HB_SCRIPT_MALAYALAM: `Mlym`
366
+ * @HB_SCRIPT_ORIYA: `Orya`
367
+ * @HB_SCRIPT_TAMIL: `Taml`
368
+ * @HB_SCRIPT_TELUGU: `Telu`
369
+ * @HB_SCRIPT_THAI: `Thai`
370
+ * @HB_SCRIPT_TIBETAN: `Tibt`
371
+ * @HB_SCRIPT_BOPOMOFO: `Bopo`
372
+ * @HB_SCRIPT_BRAILLE: `Brai`
373
+ * @HB_SCRIPT_CANADIAN_SYLLABICS: `Cans`
374
+ * @HB_SCRIPT_CHEROKEE: `Cher`
375
+ * @HB_SCRIPT_ETHIOPIC: `Ethi`
376
+ * @HB_SCRIPT_KHMER: `Khmr`
377
+ * @HB_SCRIPT_MONGOLIAN: `Mong`
378
+ * @HB_SCRIPT_MYANMAR: `Mymr`
379
+ * @HB_SCRIPT_OGHAM: `Ogam`
380
+ * @HB_SCRIPT_RUNIC: `Runr`
381
+ * @HB_SCRIPT_SINHALA: `Sinh`
382
+ * @HB_SCRIPT_SYRIAC: `Syrc`
383
+ * @HB_SCRIPT_THAANA: `Thaa`
384
+ * @HB_SCRIPT_YI: `Yiii`
385
+ * @HB_SCRIPT_DESERET: `Dsrt`
386
+ * @HB_SCRIPT_GOTHIC: `Goth`
387
+ * @HB_SCRIPT_OLD_ITALIC: `Ital`
388
+ * @HB_SCRIPT_BUHID: `Buhd`
389
+ * @HB_SCRIPT_HANUNOO: `Hano`
390
+ * @HB_SCRIPT_TAGALOG: `Tglg`
391
+ * @HB_SCRIPT_TAGBANWA: `Tagb`
392
+ * @HB_SCRIPT_CYPRIOT: `Cprt`
393
+ * @HB_SCRIPT_LIMBU: `Limb`
394
+ * @HB_SCRIPT_LINEAR_B: `Linb`
395
+ * @HB_SCRIPT_OSMANYA: `Osma`
396
+ * @HB_SCRIPT_SHAVIAN: `Shaw`
397
+ * @HB_SCRIPT_TAI_LE: `Tale`
398
+ * @HB_SCRIPT_UGARITIC: `Ugar`
399
+ * @HB_SCRIPT_BUGINESE: `Bugi`
400
+ * @HB_SCRIPT_COPTIC: `Copt`
401
+ * @HB_SCRIPT_GLAGOLITIC: `Glag`
402
+ * @HB_SCRIPT_KHAROSHTHI: `Khar`
403
+ * @HB_SCRIPT_NEW_TAI_LUE: `Talu`
404
+ * @HB_SCRIPT_OLD_PERSIAN: `Xpeo`
405
+ * @HB_SCRIPT_SYLOTI_NAGRI: `Sylo`
406
+ * @HB_SCRIPT_TIFINAGH: `Tfng`
407
+ * @HB_SCRIPT_BALINESE: `Bali`
408
+ * @HB_SCRIPT_CUNEIFORM: `Xsux`
409
+ * @HB_SCRIPT_NKO: `Nkoo`
410
+ * @HB_SCRIPT_PHAGS_PA: `Phag`
411
+ * @HB_SCRIPT_PHOENICIAN: `Phnx`
412
+ * @HB_SCRIPT_CARIAN: `Cari`
413
+ * @HB_SCRIPT_CHAM: `Cham`
414
+ * @HB_SCRIPT_KAYAH_LI: `Kali`
415
+ * @HB_SCRIPT_LEPCHA: `Lepc`
416
+ * @HB_SCRIPT_LYCIAN: `Lyci`
417
+ * @HB_SCRIPT_LYDIAN: `Lydi`
418
+ * @HB_SCRIPT_OL_CHIKI: `Olck`
419
+ * @HB_SCRIPT_REJANG: `Rjng`
420
+ * @HB_SCRIPT_SAURASHTRA: `Saur`
421
+ * @HB_SCRIPT_SUNDANESE: `Sund`
422
+ * @HB_SCRIPT_VAI: `Vaii`
423
+ * @HB_SCRIPT_AVESTAN: `Avst`
424
+ * @HB_SCRIPT_BAMUM: `Bamu`
425
+ * @HB_SCRIPT_EGYPTIAN_HIEROGLYPHS: `Egyp`
426
+ * @HB_SCRIPT_IMPERIAL_ARAMAIC: `Armi`
427
+ * @HB_SCRIPT_INSCRIPTIONAL_PAHLAVI: `Phli`
428
+ * @HB_SCRIPT_INSCRIPTIONAL_PARTHIAN: `Prti`
429
+ * @HB_SCRIPT_JAVANESE: `Java`
430
+ * @HB_SCRIPT_KAITHI: `Kthi`
431
+ * @HB_SCRIPT_LISU: `Lisu`
432
+ * @HB_SCRIPT_MEETEI_MAYEK: `Mtei`
433
+ * @HB_SCRIPT_OLD_SOUTH_ARABIAN: `Sarb`
434
+ * @HB_SCRIPT_OLD_TURKIC: `Orkh`
435
+ * @HB_SCRIPT_SAMARITAN: `Samr`
436
+ * @HB_SCRIPT_TAI_THAM: `Lana`
437
+ * @HB_SCRIPT_TAI_VIET: `Tavt`
438
+ * @HB_SCRIPT_BATAK: `Batk`
439
+ * @HB_SCRIPT_BRAHMI: `Brah`
440
+ * @HB_SCRIPT_MANDAIC: `Mand`
441
+ * @HB_SCRIPT_CHAKMA: `Cakm`
442
+ * @HB_SCRIPT_MEROITIC_CURSIVE: `Merc`
443
+ * @HB_SCRIPT_MEROITIC_HIEROGLYPHS: `Mero`
444
+ * @HB_SCRIPT_MIAO: `Plrd`
445
+ * @HB_SCRIPT_SHARADA: `Shrd`
446
+ * @HB_SCRIPT_SORA_SOMPENG: `Sora`
447
+ * @HB_SCRIPT_TAKRI: `Takr`
448
+ * @HB_SCRIPT_BASSA_VAH: `Bass`, Since: 0.9.30
449
+ * @HB_SCRIPT_CAUCASIAN_ALBANIAN: `Aghb`, Since: 0.9.30
450
+ * @HB_SCRIPT_DUPLOYAN: `Dupl`, Since: 0.9.30
451
+ * @HB_SCRIPT_ELBASAN: `Elba`, Since: 0.9.30
452
+ * @HB_SCRIPT_GRANTHA: `Gran`, Since: 0.9.30
453
+ * @HB_SCRIPT_KHOJKI: `Khoj`, Since: 0.9.30
454
+ * @HB_SCRIPT_KHUDAWADI: `Sind`, Since: 0.9.30
455
+ * @HB_SCRIPT_LINEAR_A: `Lina`, Since: 0.9.30
456
+ * @HB_SCRIPT_MAHAJANI: `Mahj`, Since: 0.9.30
457
+ * @HB_SCRIPT_MANICHAEAN: `Mani`, Since: 0.9.30
458
+ * @HB_SCRIPT_MENDE_KIKAKUI: `Mend`, Since: 0.9.30
459
+ * @HB_SCRIPT_MODI: `Modi`, Since: 0.9.30
460
+ * @HB_SCRIPT_MRO: `Mroo`, Since: 0.9.30
461
+ * @HB_SCRIPT_NABATAEAN: `Nbat`, Since: 0.9.30
462
+ * @HB_SCRIPT_OLD_NORTH_ARABIAN: `Narb`, Since: 0.9.30
463
+ * @HB_SCRIPT_OLD_PERMIC: `Perm`, Since: 0.9.30
464
+ * @HB_SCRIPT_PAHAWH_HMONG: `Hmng`, Since: 0.9.30
465
+ * @HB_SCRIPT_PALMYRENE: `Palm`, Since: 0.9.30
466
+ * @HB_SCRIPT_PAU_CIN_HAU: `Pauc`, Since: 0.9.30
467
+ * @HB_SCRIPT_PSALTER_PAHLAVI: `Phlp`, Since: 0.9.30
468
+ * @HB_SCRIPT_SIDDHAM: `Sidd`, Since: 0.9.30
469
+ * @HB_SCRIPT_TIRHUTA: `Tirh`, Since: 0.9.30
470
+ * @HB_SCRIPT_WARANG_CITI: `Wara`, Since: 0.9.30
471
+ * @HB_SCRIPT_AHOM: `Ahom`, Since: 0.9.30
472
+ * @HB_SCRIPT_ANATOLIAN_HIEROGLYPHS: `Hluw`, Since: 0.9.30
473
+ * @HB_SCRIPT_HATRAN: `Hatr`, Since: 0.9.30
474
+ * @HB_SCRIPT_MULTANI: `Mult`, Since: 0.9.30
475
+ * @HB_SCRIPT_OLD_HUNGARIAN: `Hung`, Since: 0.9.30
476
+ * @HB_SCRIPT_SIGNWRITING: `Sgnw`, Since: 0.9.30
477
+ * @HB_SCRIPT_ADLAM: `Adlm`, Since: 1.3.0
478
+ * @HB_SCRIPT_BHAIKSUKI: `Bhks`, Since: 1.3.0
479
+ * @HB_SCRIPT_MARCHEN: `Marc`, Since: 1.3.0
480
+ * @HB_SCRIPT_OSAGE: `Osge`, Since: 1.3.0
481
+ * @HB_SCRIPT_TANGUT: `Tang`, Since: 1.3.0
482
+ * @HB_SCRIPT_NEWA: `Newa`, Since: 1.3.0
483
+ * @HB_SCRIPT_MASARAM_GONDI: `Gonm`, Since: 1.6.0
484
+ * @HB_SCRIPT_NUSHU: `Nshu`, Since: 1.6.0
485
+ * @HB_SCRIPT_SOYOMBO: `Soyo`, Since: 1.6.0
486
+ * @HB_SCRIPT_ZANABAZAR_SQUARE: `Zanb`, Since: 1.6.0
487
+ * @HB_SCRIPT_DOGRA: `Dogr`, Since: 1.8.0
488
+ * @HB_SCRIPT_GUNJALA_GONDI: `Gong`, Since: 1.8.0
489
+ * @HB_SCRIPT_HANIFI_ROHINGYA: `Rohg`, Since: 1.8.0
490
+ * @HB_SCRIPT_MAKASAR: `Maka`, Since: 1.8.0
491
+ * @HB_SCRIPT_MEDEFAIDRIN: `Medf`, Since: 1.8.0
492
+ * @HB_SCRIPT_OLD_SOGDIAN: `Sogo`, Since: 1.8.0
493
+ * @HB_SCRIPT_SOGDIAN: `Sogd`, Since: 1.8.0
494
+ * @HB_SCRIPT_ELYMAIC: `Elym`, Since: 2.4.0
495
+ * @HB_SCRIPT_NANDINAGARI: `Nand`, Since: 2.4.0
496
+ * @HB_SCRIPT_NYIAKENG_PUACHUE_HMONG: `Hmnp`, Since: 2.4.0
497
+ * @HB_SCRIPT_WANCHO: `Wcho`, Since: 2.4.0
498
+ * @HB_SCRIPT_CHORASMIAN: `Chrs`, Since: 2.6.7
499
+ * @HB_SCRIPT_DIVES_AKURU: `Diak`, Since: 2.6.7
500
+ * @HB_SCRIPT_KHITAN_SMALL_SCRIPT: `Kits`, Since: 2.6.7
501
+ * @HB_SCRIPT_YEZIDI: `Yezi`, Since: 2.6.7
502
+ * @HB_SCRIPT_CYPRO_MINOAN: `Cpmn`, Since: 3.0.0
503
+ * @HB_SCRIPT_OLD_UYGHUR: `Ougr`, Since: 3.0.0
504
+ * @HB_SCRIPT_TANGSA: `Tnsa`, Since: 3.0.0
505
+ * @HB_SCRIPT_TOTO: `Toto`, Since: 3.0.0
506
+ * @HB_SCRIPT_VITHKUQI: `Vith`, Since: 3.0.0
507
+ * @HB_SCRIPT_MATH: `Zmth`, Since: 3.4.0
508
+ * @HB_SCRIPT_KAWI: `Kawi`, Since: 5.2.0
509
+ * @HB_SCRIPT_NAG_MUNDARI: `Nagm`, Since: 5.2.0
510
+ * @HB_SCRIPT_INVALID: No script set
511
+ *
512
+ * Data type for scripts. Each #hb_script_t's value is an #hb_tag_t corresponding
513
+ * to the four-letter values defined by [ISO 15924](https://unicode.org/iso15924/).
514
+ *
515
+ * See also the Script (sc) property of the Unicode Character Database.
516
+ *
517
+ **/
518
+
519
+ /* https://docs.google.com/spreadsheets/d/1Y90M0Ie3MUJ6UVCRDOypOtijlMDLNNyyLk36T6iMu0o */
520
+ typedef enum
521
+ {
522
+ HB_SCRIPT_COMMON = HB_TAG ('Z','y','y','y'), /*1.1*/
523
+ HB_SCRIPT_INHERITED = HB_TAG ('Z','i','n','h'), /*1.1*/
524
+ HB_SCRIPT_UNKNOWN = HB_TAG ('Z','z','z','z'), /*5.0*/
525
+
526
+ HB_SCRIPT_ARABIC = HB_TAG ('A','r','a','b'), /*1.1*/
527
+ HB_SCRIPT_ARMENIAN = HB_TAG ('A','r','m','n'), /*1.1*/
528
+ HB_SCRIPT_BENGALI = HB_TAG ('B','e','n','g'), /*1.1*/
529
+ HB_SCRIPT_CYRILLIC = HB_TAG ('C','y','r','l'), /*1.1*/
530
+ HB_SCRIPT_DEVANAGARI = HB_TAG ('D','e','v','a'), /*1.1*/
531
+ HB_SCRIPT_GEORGIAN = HB_TAG ('G','e','o','r'), /*1.1*/
532
+ HB_SCRIPT_GREEK = HB_TAG ('G','r','e','k'), /*1.1*/
533
+ HB_SCRIPT_GUJARATI = HB_TAG ('G','u','j','r'), /*1.1*/
534
+ HB_SCRIPT_GURMUKHI = HB_TAG ('G','u','r','u'), /*1.1*/
535
+ HB_SCRIPT_HANGUL = HB_TAG ('H','a','n','g'), /*1.1*/
536
+ HB_SCRIPT_HAN = HB_TAG ('H','a','n','i'), /*1.1*/
537
+ HB_SCRIPT_HEBREW = HB_TAG ('H','e','b','r'), /*1.1*/
538
+ HB_SCRIPT_HIRAGANA = HB_TAG ('H','i','r','a'), /*1.1*/
539
+ HB_SCRIPT_KANNADA = HB_TAG ('K','n','d','a'), /*1.1*/
540
+ HB_SCRIPT_KATAKANA = HB_TAG ('K','a','n','a'), /*1.1*/
541
+ HB_SCRIPT_LAO = HB_TAG ('L','a','o','o'), /*1.1*/
542
+ HB_SCRIPT_LATIN = HB_TAG ('L','a','t','n'), /*1.1*/
543
+ HB_SCRIPT_MALAYALAM = HB_TAG ('M','l','y','m'), /*1.1*/
544
+ HB_SCRIPT_ORIYA = HB_TAG ('O','r','y','a'), /*1.1*/
545
+ HB_SCRIPT_TAMIL = HB_TAG ('T','a','m','l'), /*1.1*/
546
+ HB_SCRIPT_TELUGU = HB_TAG ('T','e','l','u'), /*1.1*/
547
+ HB_SCRIPT_THAI = HB_TAG ('T','h','a','i'), /*1.1*/
548
+
549
+ HB_SCRIPT_TIBETAN = HB_TAG ('T','i','b','t'), /*2.0*/
550
+
551
+ HB_SCRIPT_BOPOMOFO = HB_TAG ('B','o','p','o'), /*3.0*/
552
+ HB_SCRIPT_BRAILLE = HB_TAG ('B','r','a','i'), /*3.0*/
553
+ HB_SCRIPT_CANADIAN_SYLLABICS = HB_TAG ('C','a','n','s'), /*3.0*/
554
+ HB_SCRIPT_CHEROKEE = HB_TAG ('C','h','e','r'), /*3.0*/
555
+ HB_SCRIPT_ETHIOPIC = HB_TAG ('E','t','h','i'), /*3.0*/
556
+ HB_SCRIPT_KHMER = HB_TAG ('K','h','m','r'), /*3.0*/
557
+ HB_SCRIPT_MONGOLIAN = HB_TAG ('M','o','n','g'), /*3.0*/
558
+ HB_SCRIPT_MYANMAR = HB_TAG ('M','y','m','r'), /*3.0*/
559
+ HB_SCRIPT_OGHAM = HB_TAG ('O','g','a','m'), /*3.0*/
560
+ HB_SCRIPT_RUNIC = HB_TAG ('R','u','n','r'), /*3.0*/
561
+ HB_SCRIPT_SINHALA = HB_TAG ('S','i','n','h'), /*3.0*/
562
+ HB_SCRIPT_SYRIAC = HB_TAG ('S','y','r','c'), /*3.0*/
563
+ HB_SCRIPT_THAANA = HB_TAG ('T','h','a','a'), /*3.0*/
564
+ HB_SCRIPT_YI = HB_TAG ('Y','i','i','i'), /*3.0*/
565
+
566
+ HB_SCRIPT_DESERET = HB_TAG ('D','s','r','t'), /*3.1*/
567
+ HB_SCRIPT_GOTHIC = HB_TAG ('G','o','t','h'), /*3.1*/
568
+ HB_SCRIPT_OLD_ITALIC = HB_TAG ('I','t','a','l'), /*3.1*/
569
+
570
+ HB_SCRIPT_BUHID = HB_TAG ('B','u','h','d'), /*3.2*/
571
+ HB_SCRIPT_HANUNOO = HB_TAG ('H','a','n','o'), /*3.2*/
572
+ HB_SCRIPT_TAGALOG = HB_TAG ('T','g','l','g'), /*3.2*/
573
+ HB_SCRIPT_TAGBANWA = HB_TAG ('T','a','g','b'), /*3.2*/
574
+
575
+ HB_SCRIPT_CYPRIOT = HB_TAG ('C','p','r','t'), /*4.0*/
576
+ HB_SCRIPT_LIMBU = HB_TAG ('L','i','m','b'), /*4.0*/
577
+ HB_SCRIPT_LINEAR_B = HB_TAG ('L','i','n','b'), /*4.0*/
578
+ HB_SCRIPT_OSMANYA = HB_TAG ('O','s','m','a'), /*4.0*/
579
+ HB_SCRIPT_SHAVIAN = HB_TAG ('S','h','a','w'), /*4.0*/
580
+ HB_SCRIPT_TAI_LE = HB_TAG ('T','a','l','e'), /*4.0*/
581
+ HB_SCRIPT_UGARITIC = HB_TAG ('U','g','a','r'), /*4.0*/
582
+
583
+ HB_SCRIPT_BUGINESE = HB_TAG ('B','u','g','i'), /*4.1*/
584
+ HB_SCRIPT_COPTIC = HB_TAG ('C','o','p','t'), /*4.1*/
585
+ HB_SCRIPT_GLAGOLITIC = HB_TAG ('G','l','a','g'), /*4.1*/
586
+ HB_SCRIPT_KHAROSHTHI = HB_TAG ('K','h','a','r'), /*4.1*/
587
+ HB_SCRIPT_NEW_TAI_LUE = HB_TAG ('T','a','l','u'), /*4.1*/
588
+ HB_SCRIPT_OLD_PERSIAN = HB_TAG ('X','p','e','o'), /*4.1*/
589
+ HB_SCRIPT_SYLOTI_NAGRI = HB_TAG ('S','y','l','o'), /*4.1*/
590
+ HB_SCRIPT_TIFINAGH = HB_TAG ('T','f','n','g'), /*4.1*/
591
+
592
+ HB_SCRIPT_BALINESE = HB_TAG ('B','a','l','i'), /*5.0*/
593
+ HB_SCRIPT_CUNEIFORM = HB_TAG ('X','s','u','x'), /*5.0*/
594
+ HB_SCRIPT_NKO = HB_TAG ('N','k','o','o'), /*5.0*/
595
+ HB_SCRIPT_PHAGS_PA = HB_TAG ('P','h','a','g'), /*5.0*/
596
+ HB_SCRIPT_PHOENICIAN = HB_TAG ('P','h','n','x'), /*5.0*/
597
+
598
+ HB_SCRIPT_CARIAN = HB_TAG ('C','a','r','i'), /*5.1*/
599
+ HB_SCRIPT_CHAM = HB_TAG ('C','h','a','m'), /*5.1*/
600
+ HB_SCRIPT_KAYAH_LI = HB_TAG ('K','a','l','i'), /*5.1*/
601
+ HB_SCRIPT_LEPCHA = HB_TAG ('L','e','p','c'), /*5.1*/
602
+ HB_SCRIPT_LYCIAN = HB_TAG ('L','y','c','i'), /*5.1*/
603
+ HB_SCRIPT_LYDIAN = HB_TAG ('L','y','d','i'), /*5.1*/
604
+ HB_SCRIPT_OL_CHIKI = HB_TAG ('O','l','c','k'), /*5.1*/
605
+ HB_SCRIPT_REJANG = HB_TAG ('R','j','n','g'), /*5.1*/
606
+ HB_SCRIPT_SAURASHTRA = HB_TAG ('S','a','u','r'), /*5.1*/
607
+ HB_SCRIPT_SUNDANESE = HB_TAG ('S','u','n','d'), /*5.1*/
608
+ HB_SCRIPT_VAI = HB_TAG ('V','a','i','i'), /*5.1*/
609
+
610
+ HB_SCRIPT_AVESTAN = HB_TAG ('A','v','s','t'), /*5.2*/
611
+ HB_SCRIPT_BAMUM = HB_TAG ('B','a','m','u'), /*5.2*/
612
+ HB_SCRIPT_EGYPTIAN_HIEROGLYPHS = HB_TAG ('E','g','y','p'), /*5.2*/
613
+ HB_SCRIPT_IMPERIAL_ARAMAIC = HB_TAG ('A','r','m','i'), /*5.2*/
614
+ HB_SCRIPT_INSCRIPTIONAL_PAHLAVI = HB_TAG ('P','h','l','i'), /*5.2*/
615
+ HB_SCRIPT_INSCRIPTIONAL_PARTHIAN = HB_TAG ('P','r','t','i'), /*5.2*/
616
+ HB_SCRIPT_JAVANESE = HB_TAG ('J','a','v','a'), /*5.2*/
617
+ HB_SCRIPT_KAITHI = HB_TAG ('K','t','h','i'), /*5.2*/
618
+ HB_SCRIPT_LISU = HB_TAG ('L','i','s','u'), /*5.2*/
619
+ HB_SCRIPT_MEETEI_MAYEK = HB_TAG ('M','t','e','i'), /*5.2*/
620
+ HB_SCRIPT_OLD_SOUTH_ARABIAN = HB_TAG ('S','a','r','b'), /*5.2*/
621
+ HB_SCRIPT_OLD_TURKIC = HB_TAG ('O','r','k','h'), /*5.2*/
622
+ HB_SCRIPT_SAMARITAN = HB_TAG ('S','a','m','r'), /*5.2*/
623
+ HB_SCRIPT_TAI_THAM = HB_TAG ('L','a','n','a'), /*5.2*/
624
+ HB_SCRIPT_TAI_VIET = HB_TAG ('T','a','v','t'), /*5.2*/
625
+
626
+ HB_SCRIPT_BATAK = HB_TAG ('B','a','t','k'), /*6.0*/
627
+ HB_SCRIPT_BRAHMI = HB_TAG ('B','r','a','h'), /*6.0*/
628
+ HB_SCRIPT_MANDAIC = HB_TAG ('M','a','n','d'), /*6.0*/
629
+
630
+ HB_SCRIPT_CHAKMA = HB_TAG ('C','a','k','m'), /*6.1*/
631
+ HB_SCRIPT_MEROITIC_CURSIVE = HB_TAG ('M','e','r','c'), /*6.1*/
632
+ HB_SCRIPT_MEROITIC_HIEROGLYPHS = HB_TAG ('M','e','r','o'), /*6.1*/
633
+ HB_SCRIPT_MIAO = HB_TAG ('P','l','r','d'), /*6.1*/
634
+ HB_SCRIPT_SHARADA = HB_TAG ('S','h','r','d'), /*6.1*/
635
+ HB_SCRIPT_SORA_SOMPENG = HB_TAG ('S','o','r','a'), /*6.1*/
636
+ HB_SCRIPT_TAKRI = HB_TAG ('T','a','k','r'), /*6.1*/
637
+
638
+ /*
639
+ * Since: 0.9.30
640
+ */
641
+ HB_SCRIPT_BASSA_VAH = HB_TAG ('B','a','s','s'), /*7.0*/
642
+ HB_SCRIPT_CAUCASIAN_ALBANIAN = HB_TAG ('A','g','h','b'), /*7.0*/
643
+ HB_SCRIPT_DUPLOYAN = HB_TAG ('D','u','p','l'), /*7.0*/
644
+ HB_SCRIPT_ELBASAN = HB_TAG ('E','l','b','a'), /*7.0*/
645
+ HB_SCRIPT_GRANTHA = HB_TAG ('G','r','a','n'), /*7.0*/
646
+ HB_SCRIPT_KHOJKI = HB_TAG ('K','h','o','j'), /*7.0*/
647
+ HB_SCRIPT_KHUDAWADI = HB_TAG ('S','i','n','d'), /*7.0*/
648
+ HB_SCRIPT_LINEAR_A = HB_TAG ('L','i','n','a'), /*7.0*/
649
+ HB_SCRIPT_MAHAJANI = HB_TAG ('M','a','h','j'), /*7.0*/
650
+ HB_SCRIPT_MANICHAEAN = HB_TAG ('M','a','n','i'), /*7.0*/
651
+ HB_SCRIPT_MENDE_KIKAKUI = HB_TAG ('M','e','n','d'), /*7.0*/
652
+ HB_SCRIPT_MODI = HB_TAG ('M','o','d','i'), /*7.0*/
653
+ HB_SCRIPT_MRO = HB_TAG ('M','r','o','o'), /*7.0*/
654
+ HB_SCRIPT_NABATAEAN = HB_TAG ('N','b','a','t'), /*7.0*/
655
+ HB_SCRIPT_OLD_NORTH_ARABIAN = HB_TAG ('N','a','r','b'), /*7.0*/
656
+ HB_SCRIPT_OLD_PERMIC = HB_TAG ('P','e','r','m'), /*7.0*/
657
+ HB_SCRIPT_PAHAWH_HMONG = HB_TAG ('H','m','n','g'), /*7.0*/
658
+ HB_SCRIPT_PALMYRENE = HB_TAG ('P','a','l','m'), /*7.0*/
659
+ HB_SCRIPT_PAU_CIN_HAU = HB_TAG ('P','a','u','c'), /*7.0*/
660
+ HB_SCRIPT_PSALTER_PAHLAVI = HB_TAG ('P','h','l','p'), /*7.0*/
661
+ HB_SCRIPT_SIDDHAM = HB_TAG ('S','i','d','d'), /*7.0*/
662
+ HB_SCRIPT_TIRHUTA = HB_TAG ('T','i','r','h'), /*7.0*/
663
+ HB_SCRIPT_WARANG_CITI = HB_TAG ('W','a','r','a'), /*7.0*/
664
+
665
+ HB_SCRIPT_AHOM = HB_TAG ('A','h','o','m'), /*8.0*/
666
+ HB_SCRIPT_ANATOLIAN_HIEROGLYPHS = HB_TAG ('H','l','u','w'), /*8.0*/
667
+ HB_SCRIPT_HATRAN = HB_TAG ('H','a','t','r'), /*8.0*/
668
+ HB_SCRIPT_MULTANI = HB_TAG ('M','u','l','t'), /*8.0*/
669
+ HB_SCRIPT_OLD_HUNGARIAN = HB_TAG ('H','u','n','g'), /*8.0*/
670
+ HB_SCRIPT_SIGNWRITING = HB_TAG ('S','g','n','w'), /*8.0*/
671
+
672
+ /*
673
+ * Since 1.3.0
674
+ */
675
+ HB_SCRIPT_ADLAM = HB_TAG ('A','d','l','m'), /*9.0*/
676
+ HB_SCRIPT_BHAIKSUKI = HB_TAG ('B','h','k','s'), /*9.0*/
677
+ HB_SCRIPT_MARCHEN = HB_TAG ('M','a','r','c'), /*9.0*/
678
+ HB_SCRIPT_OSAGE = HB_TAG ('O','s','g','e'), /*9.0*/
679
+ HB_SCRIPT_TANGUT = HB_TAG ('T','a','n','g'), /*9.0*/
680
+ HB_SCRIPT_NEWA = HB_TAG ('N','e','w','a'), /*9.0*/
681
+
682
+ /*
683
+ * Since 1.6.0
684
+ */
685
+ HB_SCRIPT_MASARAM_GONDI = HB_TAG ('G','o','n','m'), /*10.0*/
686
+ HB_SCRIPT_NUSHU = HB_TAG ('N','s','h','u'), /*10.0*/
687
+ HB_SCRIPT_SOYOMBO = HB_TAG ('S','o','y','o'), /*10.0*/
688
+ HB_SCRIPT_ZANABAZAR_SQUARE = HB_TAG ('Z','a','n','b'), /*10.0*/
689
+
690
+ /*
691
+ * Since 1.8.0
692
+ */
693
+ HB_SCRIPT_DOGRA = HB_TAG ('D','o','g','r'), /*11.0*/
694
+ HB_SCRIPT_GUNJALA_GONDI = HB_TAG ('G','o','n','g'), /*11.0*/
695
+ HB_SCRIPT_HANIFI_ROHINGYA = HB_TAG ('R','o','h','g'), /*11.0*/
696
+ HB_SCRIPT_MAKASAR = HB_TAG ('M','a','k','a'), /*11.0*/
697
+ HB_SCRIPT_MEDEFAIDRIN = HB_TAG ('M','e','d','f'), /*11.0*/
698
+ HB_SCRIPT_OLD_SOGDIAN = HB_TAG ('S','o','g','o'), /*11.0*/
699
+ HB_SCRIPT_SOGDIAN = HB_TAG ('S','o','g','d'), /*11.0*/
700
+
701
+ /*
702
+ * Since 2.4.0
703
+ */
704
+ HB_SCRIPT_ELYMAIC = HB_TAG ('E','l','y','m'), /*12.0*/
705
+ HB_SCRIPT_NANDINAGARI = HB_TAG ('N','a','n','d'), /*12.0*/
706
+ HB_SCRIPT_NYIAKENG_PUACHUE_HMONG = HB_TAG ('H','m','n','p'), /*12.0*/
707
+ HB_SCRIPT_WANCHO = HB_TAG ('W','c','h','o'), /*12.0*/
708
+
709
+ /*
710
+ * Since 2.6.7
711
+ */
712
+ HB_SCRIPT_CHORASMIAN = HB_TAG ('C','h','r','s'), /*13.0*/
713
+ HB_SCRIPT_DIVES_AKURU = HB_TAG ('D','i','a','k'), /*13.0*/
714
+ HB_SCRIPT_KHITAN_SMALL_SCRIPT = HB_TAG ('K','i','t','s'), /*13.0*/
715
+ HB_SCRIPT_YEZIDI = HB_TAG ('Y','e','z','i'), /*13.0*/
716
+
717
+ /*
718
+ * Since 3.0.0
719
+ */
720
+ HB_SCRIPT_CYPRO_MINOAN = HB_TAG ('C','p','m','n'), /*14.0*/
721
+ HB_SCRIPT_OLD_UYGHUR = HB_TAG ('O','u','g','r'), /*14.0*/
722
+ HB_SCRIPT_TANGSA = HB_TAG ('T','n','s','a'), /*14.0*/
723
+ HB_SCRIPT_TOTO = HB_TAG ('T','o','t','o'), /*14.0*/
724
+ HB_SCRIPT_VITHKUQI = HB_TAG ('V','i','t','h'), /*14.0*/
725
+
726
+ /*
727
+ * Since 3.4.0
728
+ */
729
+ HB_SCRIPT_MATH = HB_TAG ('Z','m','t','h'),
730
+
731
+ /*
732
+ * Since 5.2.0
733
+ */
734
+ HB_SCRIPT_KAWI = HB_TAG ('K','a','w','i'), /*15.0*/
735
+ HB_SCRIPT_NAG_MUNDARI = HB_TAG ('N','a','g','m'), /*15.0*/
736
+
737
+ /* No script set. */
738
+ HB_SCRIPT_INVALID = HB_TAG_NONE,
739
+
740
+ /*< private >*/
741
+
742
+ /* Dummy values to ensure any hb_tag_t value can be passed/stored as hb_script_t
743
+ * without risking undefined behavior. We have two, for historical reasons.
744
+ * HB_TAG_MAX used to be unsigned, but that was invalid Ansi C, so was changed
745
+ * to _HB_SCRIPT_MAX_VALUE to be equal to HB_TAG_MAX_SIGNED as well.
746
+ *
747
+ * See this thread for technicalities:
748
+ *
749
+ * https://lists.freedesktop.org/archives/harfbuzz/2014-March/004150.html
750
+ */
751
+ _HB_SCRIPT_MAX_VALUE = HB_TAG_MAX_SIGNED, /*< skip >*/
752
+ _HB_SCRIPT_MAX_VALUE_SIGNED = HB_TAG_MAX_SIGNED /*< skip >*/
753
+
754
+ } hb_script_t;
755
+
756
+
757
+ /* Script functions */
758
+
759
+ HB_EXTERN hb_script_t
760
+ hb_script_from_iso15924_tag (hb_tag_t tag);
761
+
762
+ HB_EXTERN hb_script_t
763
+ hb_script_from_string (const char *str, int len);
764
+
765
+ HB_EXTERN hb_tag_t
766
+ hb_script_to_iso15924_tag (hb_script_t script);
767
+
768
+ HB_EXTERN hb_direction_t
769
+ hb_script_get_horizontal_direction (hb_script_t script);
770
+
771
+
772
+ /* User data */
773
+
774
+ /**
775
+ * hb_user_data_key_t:
776
+ *
777
+ * Data structure for holding user-data keys.
778
+ *
779
+ **/
780
+ typedef struct hb_user_data_key_t {
781
+ /*< private >*/
782
+ char unused;
783
+ } hb_user_data_key_t;
784
+
785
+ /**
786
+ * hb_destroy_func_t:
787
+ * @user_data: the data to be destroyed
788
+ *
789
+ * A virtual method for destroy user-data callbacks.
790
+ *
791
+ */
792
+ typedef void (*hb_destroy_func_t) (void *user_data);
793
+
794
+
795
+ /* Font features and variations. */
796
+
797
+ /**
798
+ * HB_FEATURE_GLOBAL_START:
799
+ *
800
+ * Special setting for #hb_feature_t.start to apply the feature from the start
801
+ * of the buffer.
802
+ *
803
+ * Since: 2.0.0
804
+ */
805
+ #define HB_FEATURE_GLOBAL_START 0
806
+
807
+ /**
808
+ * HB_FEATURE_GLOBAL_END:
809
+ *
810
+ * Special setting for #hb_feature_t.end to apply the feature from to the end
811
+ * of the buffer.
812
+ *
813
+ * Since: 2.0.0
814
+ */
815
+ #define HB_FEATURE_GLOBAL_END ((unsigned int) -1)
816
+
817
+ /**
818
+ * hb_feature_t:
819
+ * @tag: The #hb_tag_t tag of the feature
820
+ * @value: The value of the feature. 0 disables the feature, non-zero (usually
821
+ * 1) enables the feature. For features implemented as lookup type 3 (like
822
+ * 'salt') the @value is a one based index into the alternates.
823
+ * @start: the cluster to start applying this feature setting (inclusive).
824
+ * @end: the cluster to end applying this feature setting (exclusive).
825
+ *
826
+ * The #hb_feature_t is the structure that holds information about requested
827
+ * feature application. The feature will be applied with the given value to all
828
+ * glyphs which are in clusters between @start (inclusive) and @end (exclusive).
829
+ * Setting start to #HB_FEATURE_GLOBAL_START and end to #HB_FEATURE_GLOBAL_END
830
+ * specifies that the feature always applies to the entire buffer.
831
+ */
832
+ typedef struct hb_feature_t {
833
+ hb_tag_t tag;
834
+ uint32_t value;
835
+ unsigned int start;
836
+ unsigned int end;
837
+ } hb_feature_t;
838
+
839
+ HB_EXTERN hb_bool_t
840
+ hb_feature_from_string (const char *str, int len,
841
+ hb_feature_t *feature);
842
+
843
+ HB_EXTERN void
844
+ hb_feature_to_string (hb_feature_t *feature,
845
+ char *buf, unsigned int size);
846
+
847
+ /**
848
+ * hb_variation_t:
849
+ * @tag: The #hb_tag_t tag of the variation-axis name
850
+ * @value: The value of the variation axis
851
+ *
852
+ * Data type for holding variation data. Registered OpenType
853
+ * variation-axis tags are listed in
854
+ * [OpenType Axis Tag Registry](https://docs.microsoft.com/en-us/typography/opentype/spec/dvaraxisreg).
855
+ *
856
+ * Since: 1.4.2
857
+ */
858
+ typedef struct hb_variation_t {
859
+ hb_tag_t tag;
860
+ float value;
861
+ } hb_variation_t;
862
+
863
+ HB_EXTERN hb_bool_t
864
+ hb_variation_from_string (const char *str, int len,
865
+ hb_variation_t *variation);
866
+
867
+ HB_EXTERN void
868
+ hb_variation_to_string (hb_variation_t *variation,
869
+ char *buf, unsigned int size);
870
+
871
+ /**
872
+ * hb_color_t:
873
+ *
874
+ * Data type for holding color values. Colors are eight bits per
875
+ * channel RGB plus alpha transparency.
876
+ *
877
+ * Since: 2.1.0
878
+ */
879
+ typedef uint32_t hb_color_t;
880
+
881
+ /**
882
+ * HB_COLOR:
883
+ * @b: blue channel value
884
+ * @g: green channel value
885
+ * @r: red channel value
886
+ * @a: alpha channel value
887
+ *
888
+ * Constructs an #hb_color_t from four integers.
889
+ *
890
+ * Since: 2.1.0
891
+ */
892
+ #define HB_COLOR(b,g,r,a) ((hb_color_t) HB_TAG ((b),(g),(r),(a)))
893
+
894
+ HB_EXTERN uint8_t
895
+ hb_color_get_alpha (hb_color_t color);
896
+ #define hb_color_get_alpha(color) ((color) & 0xFF)
897
+
898
+ HB_EXTERN uint8_t
899
+ hb_color_get_red (hb_color_t color);
900
+ #define hb_color_get_red(color) (((color) >> 8) & 0xFF)
901
+
902
+ HB_EXTERN uint8_t
903
+ hb_color_get_green (hb_color_t color);
904
+ #define hb_color_get_green(color) (((color) >> 16) & 0xFF)
905
+
906
+ HB_EXTERN uint8_t
907
+ hb_color_get_blue (hb_color_t color);
908
+ #define hb_color_get_blue(color) (((color) >> 24) & 0xFF)
909
+
910
+ /**
911
+ * hb_glyph_extents_t:
912
+ * @x_bearing: Distance from the x-origin to the left extremum of the glyph.
913
+ * @y_bearing: Distance from the top extremum of the glyph to the y-origin.
914
+ * @width: Distance from the left extremum of the glyph to the right extremum.
915
+ * @height: Distance from the top extremum of the glyph to the bottom extremum.
916
+ *
917
+ * Glyph extent values, measured in font units.
918
+ *
919
+ * Note that @height is negative, in coordinate systems that grow up.
920
+ **/
921
+ typedef struct hb_glyph_extents_t {
922
+ hb_position_t x_bearing;
923
+ hb_position_t y_bearing;
924
+ hb_position_t width;
925
+ hb_position_t height;
926
+ } hb_glyph_extents_t;
927
+
928
+ /**
929
+ * hb_font_t:
930
+ *
931
+ * Data type for holding fonts.
932
+ *
933
+ */
934
+ typedef struct hb_font_t hb_font_t;
935
+
936
+ HB_END_DECLS
937
+
938
+ #endif /* HB_COMMON_H */