@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,1153 @@
1
+ /*
2
+ * Copyright © 2009 Red Hat, Inc.
3
+ *
4
+ * This is part of HarfBuzz, a text shaping library.
5
+ *
6
+ * Permission is hereby granted, without written agreement and without
7
+ * license or royalty fees, to use, copy, modify, and distribute this
8
+ * software and its documentation for any purpose, provided that the
9
+ * above copyright notice and the following two paragraphs appear in
10
+ * all copies of this software.
11
+ *
12
+ * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
13
+ * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
14
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
15
+ * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
16
+ * DAMAGE.
17
+ *
18
+ * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
19
+ * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
20
+ * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
21
+ * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
22
+ * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
23
+ *
24
+ * Red Hat Author(s): Behdad Esfahbod
25
+ */
26
+
27
+ #if !defined(HB_H_IN) && !defined(HB_NO_SINGLE_HEADER_ERROR)
28
+ #error "Include <hb.h> instead."
29
+ #endif
30
+
31
+ #ifndef HB_FONT_H
32
+ #define HB_FONT_H
33
+
34
+ #include "hb-common.h"
35
+ #include "hb-face.h"
36
+ #include "hb-draw.h"
37
+ #include "hb-paint.h"
38
+
39
+ HB_BEGIN_DECLS
40
+
41
+ /*
42
+ * hb_font_funcs_t
43
+ */
44
+
45
+ /**
46
+ * hb_font_funcs_t:
47
+ *
48
+ * Data type containing a set of virtual methods used for
49
+ * working on #hb_font_t font objects.
50
+ *
51
+ * HarfBuzz provides a lightweight default function for each of
52
+ * the methods in #hb_font_funcs_t. Client programs can implement
53
+ * their own replacements for the individual font functions, as
54
+ * needed, and replace the default by calling the setter for a
55
+ * method.
56
+ *
57
+ **/
58
+ typedef struct hb_font_funcs_t hb_font_funcs_t;
59
+
60
+ HB_EXTERN hb_font_funcs_t *
61
+ hb_font_funcs_create (void);
62
+
63
+ HB_EXTERN hb_font_funcs_t *
64
+ hb_font_funcs_get_empty (void);
65
+
66
+ HB_EXTERN hb_font_funcs_t *
67
+ hb_font_funcs_reference (hb_font_funcs_t *ffuncs);
68
+
69
+ HB_EXTERN void
70
+ hb_font_funcs_destroy (hb_font_funcs_t *ffuncs);
71
+
72
+ HB_EXTERN hb_bool_t
73
+ hb_font_funcs_set_user_data (hb_font_funcs_t *ffuncs,
74
+ hb_user_data_key_t *key,
75
+ void * data,
76
+ hb_destroy_func_t destroy,
77
+ hb_bool_t replace);
78
+
79
+
80
+ HB_EXTERN void *
81
+ hb_font_funcs_get_user_data (const hb_font_funcs_t *ffuncs,
82
+ hb_user_data_key_t *key);
83
+
84
+
85
+ HB_EXTERN void
86
+ hb_font_funcs_make_immutable (hb_font_funcs_t *ffuncs);
87
+
88
+ HB_EXTERN hb_bool_t
89
+ hb_font_funcs_is_immutable (hb_font_funcs_t *ffuncs);
90
+
91
+
92
+ /* font extents */
93
+
94
+ /**
95
+ * hb_font_extents_t:
96
+ * @ascender: The height of typographic ascenders.
97
+ * @descender: The depth of typographic descenders.
98
+ * @line_gap: The suggested line-spacing gap.
99
+ *
100
+ * Font-wide extent values, measured in font units.
101
+ *
102
+ * Note that typically @ascender is positive and @descender
103
+ * negative, in coordinate systems that grow up.
104
+ **/
105
+ typedef struct hb_font_extents_t {
106
+ hb_position_t ascender;
107
+ hb_position_t descender;
108
+ hb_position_t line_gap;
109
+ /*< private >*/
110
+ hb_position_t reserved9;
111
+ hb_position_t reserved8;
112
+ hb_position_t reserved7;
113
+ hb_position_t reserved6;
114
+ hb_position_t reserved5;
115
+ hb_position_t reserved4;
116
+ hb_position_t reserved3;
117
+ hb_position_t reserved2;
118
+ hb_position_t reserved1;
119
+ } hb_font_extents_t;
120
+
121
+ /* func types */
122
+
123
+ /**
124
+ * hb_font_get_font_extents_func_t:
125
+ * @font: #hb_font_t to work upon
126
+ * @font_data: @font user data pointer
127
+ * @extents: (out): The font extents retrieved
128
+ * @user_data: User data pointer passed by the caller
129
+ *
130
+ * This method should retrieve the extents for a font.
131
+ *
132
+ **/
133
+ typedef hb_bool_t (*hb_font_get_font_extents_func_t) (hb_font_t *font, void *font_data,
134
+ hb_font_extents_t *extents,
135
+ void *user_data);
136
+
137
+ /**
138
+ * hb_font_get_font_h_extents_func_t:
139
+ *
140
+ * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
141
+ *
142
+ * This method should retrieve the extents for a font, for horizontal-direction
143
+ * text segments. Extents must be returned in an #hb_glyph_extents output
144
+ * parameter.
145
+ *
146
+ **/
147
+ typedef hb_font_get_font_extents_func_t hb_font_get_font_h_extents_func_t;
148
+
149
+ /**
150
+ * hb_font_get_font_v_extents_func_t:
151
+ *
152
+ * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
153
+ *
154
+ * This method should retrieve the extents for a font, for vertical-direction
155
+ * text segments. Extents must be returned in an #hb_glyph_extents output
156
+ * parameter.
157
+ *
158
+ **/
159
+ typedef hb_font_get_font_extents_func_t hb_font_get_font_v_extents_func_t;
160
+
161
+
162
+ /**
163
+ * hb_font_get_nominal_glyph_func_t:
164
+ * @font: #hb_font_t to work upon
165
+ * @font_data: @font user data pointer
166
+ * @unicode: The Unicode code point to query
167
+ * @glyph: (out): The glyph ID retrieved
168
+ * @user_data: User data pointer passed by the caller
169
+ *
170
+ * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
171
+ *
172
+ * This method should retrieve the nominal glyph ID for a specified Unicode code
173
+ * point. Glyph IDs must be returned in a #hb_codepoint_t output parameter.
174
+ *
175
+ * Return value: `true` if data found, `false` otherwise
176
+ *
177
+ **/
178
+ typedef hb_bool_t (*hb_font_get_nominal_glyph_func_t) (hb_font_t *font, void *font_data,
179
+ hb_codepoint_t unicode,
180
+ hb_codepoint_t *glyph,
181
+ void *user_data);
182
+
183
+ /**
184
+ * hb_font_get_variation_glyph_func_t:
185
+ * @font: #hb_font_t to work upon
186
+ * @font_data: @font user data pointer
187
+ * @unicode: The Unicode code point to query
188
+ * @variation_selector: The variation-selector code point to query
189
+ * @glyph: (out): The glyph ID retrieved
190
+ * @user_data: User data pointer passed by the caller
191
+ *
192
+ * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
193
+ *
194
+ * This method should retrieve the glyph ID for a specified Unicode code point
195
+ * followed by a specified Variation Selector code point. Glyph IDs must be
196
+ * returned in a #hb_codepoint_t output parameter.
197
+ *
198
+ * Return value: `true` if data found, `false` otherwise
199
+ *
200
+ **/
201
+ typedef hb_bool_t (*hb_font_get_variation_glyph_func_t) (hb_font_t *font, void *font_data,
202
+ hb_codepoint_t unicode, hb_codepoint_t variation_selector,
203
+ hb_codepoint_t *glyph,
204
+ void *user_data);
205
+
206
+
207
+ /**
208
+ * hb_font_get_nominal_glyphs_func_t:
209
+ * @font: #hb_font_t to work upon
210
+ * @font_data: @font user data pointer
211
+ * @count: number of code points to query
212
+ * @first_unicode: The first Unicode code point to query
213
+ * @unicode_stride: The stride between successive code points
214
+ * @first_glyph: (out): The first glyph ID retrieved
215
+ * @glyph_stride: The stride between successive glyph IDs
216
+ * @user_data: User data pointer passed by the caller
217
+ *
218
+ * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
219
+ *
220
+ * This method should retrieve the nominal glyph IDs for a sequence of
221
+ * Unicode code points. Glyph IDs must be returned in a #hb_codepoint_t
222
+ * output parameter.
223
+ *
224
+ * Return value: the number of code points processed
225
+ *
226
+ **/
227
+ typedef unsigned int (*hb_font_get_nominal_glyphs_func_t) (hb_font_t *font, void *font_data,
228
+ unsigned int count,
229
+ const hb_codepoint_t *first_unicode,
230
+ unsigned int unicode_stride,
231
+ hb_codepoint_t *first_glyph,
232
+ unsigned int glyph_stride,
233
+ void *user_data);
234
+
235
+ /**
236
+ * hb_font_get_glyph_advance_func_t:
237
+ * @font: #hb_font_t to work upon
238
+ * @font_data: @font user data pointer
239
+ * @glyph: The glyph ID to query
240
+ * @user_data: User data pointer passed by the caller
241
+ *
242
+ * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
243
+ *
244
+ * This method should retrieve the advance for a specified glyph. The
245
+ * method must return an #hb_position_t.
246
+ *
247
+ * Return value: The advance of @glyph within @font
248
+ *
249
+ **/
250
+ typedef hb_position_t (*hb_font_get_glyph_advance_func_t) (hb_font_t *font, void *font_data,
251
+ hb_codepoint_t glyph,
252
+ void *user_data);
253
+
254
+ /**
255
+ * hb_font_get_glyph_h_advance_func_t:
256
+ *
257
+ * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
258
+ *
259
+ * This method should retrieve the advance for a specified glyph, in
260
+ * horizontal-direction text segments. Advances must be returned in
261
+ * an #hb_position_t output parameter.
262
+ *
263
+ **/
264
+ typedef hb_font_get_glyph_advance_func_t hb_font_get_glyph_h_advance_func_t;
265
+
266
+ /**
267
+ * hb_font_get_glyph_v_advance_func_t:
268
+ *
269
+ * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
270
+ *
271
+ * This method should retrieve the advance for a specified glyph, in
272
+ * vertical-direction text segments. Advances must be returned in
273
+ * an #hb_position_t output parameter.
274
+ *
275
+ **/
276
+ typedef hb_font_get_glyph_advance_func_t hb_font_get_glyph_v_advance_func_t;
277
+
278
+ /**
279
+ * hb_font_get_glyph_advances_func_t:
280
+ * @font: #hb_font_t to work upon
281
+ * @font_data: @font user data pointer
282
+ * @count: The number of glyph IDs in the sequence queried
283
+ * @first_glyph: The first glyph ID to query
284
+ * @glyph_stride: The stride between successive glyph IDs
285
+ * @first_advance: (out): The first advance retrieved
286
+ * @advance_stride: The stride between successive advances
287
+ * @user_data: User data pointer passed by the caller
288
+ *
289
+ * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
290
+ *
291
+ * This method should retrieve the advances for a sequence of glyphs.
292
+ *
293
+ **/
294
+ typedef void (*hb_font_get_glyph_advances_func_t) (hb_font_t* font, void* font_data,
295
+ unsigned int count,
296
+ const hb_codepoint_t *first_glyph,
297
+ unsigned glyph_stride,
298
+ hb_position_t *first_advance,
299
+ unsigned advance_stride,
300
+ void *user_data);
301
+
302
+ /**
303
+ * hb_font_get_glyph_h_advances_func_t:
304
+ *
305
+ * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
306
+ *
307
+ * This method should retrieve the advances for a sequence of glyphs, in
308
+ * horizontal-direction text segments.
309
+ *
310
+ **/
311
+ typedef hb_font_get_glyph_advances_func_t hb_font_get_glyph_h_advances_func_t;
312
+
313
+ /**
314
+ * hb_font_get_glyph_v_advances_func_t:
315
+ *
316
+ * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
317
+ *
318
+ * This method should retrieve the advances for a sequence of glyphs, in
319
+ * vertical-direction text segments.
320
+ *
321
+ **/
322
+ typedef hb_font_get_glyph_advances_func_t hb_font_get_glyph_v_advances_func_t;
323
+
324
+ /**
325
+ * hb_font_get_glyph_origin_func_t:
326
+ * @font: #hb_font_t to work upon
327
+ * @font_data: @font user data pointer
328
+ * @glyph: The glyph ID to query
329
+ * @x: (out): The X coordinate of the origin
330
+ * @y: (out): The Y coordinate of the origin
331
+ * @user_data: User data pointer passed by the caller
332
+ *
333
+ * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
334
+ *
335
+ * This method should retrieve the (X,Y) coordinates (in font units) of the
336
+ * origin for a glyph. Each coordinate must be returned in an #hb_position_t
337
+ * output parameter.
338
+ *
339
+ * Return value: `true` if data found, `false` otherwise
340
+ *
341
+ **/
342
+ typedef hb_bool_t (*hb_font_get_glyph_origin_func_t) (hb_font_t *font, void *font_data,
343
+ hb_codepoint_t glyph,
344
+ hb_position_t *x, hb_position_t *y,
345
+ void *user_data);
346
+
347
+ /**
348
+ * hb_font_get_glyph_h_origin_func_t:
349
+ *
350
+ * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
351
+ *
352
+ * This method should retrieve the (X,Y) coordinates (in font units) of the
353
+ * origin for a glyph, for horizontal-direction text segments. Each
354
+ * coordinate must be returned in an #hb_position_t output parameter.
355
+ *
356
+ **/
357
+ typedef hb_font_get_glyph_origin_func_t hb_font_get_glyph_h_origin_func_t;
358
+
359
+ /**
360
+ * hb_font_get_glyph_v_origin_func_t:
361
+ *
362
+ * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
363
+ *
364
+ * This method should retrieve the (X,Y) coordinates (in font units) of the
365
+ * origin for a glyph, for vertical-direction text segments. Each coordinate
366
+ * must be returned in an #hb_position_t output parameter.
367
+ *
368
+ **/
369
+ typedef hb_font_get_glyph_origin_func_t hb_font_get_glyph_v_origin_func_t;
370
+
371
+ /**
372
+ * hb_font_get_glyph_kerning_func_t:
373
+ * @font: #hb_font_t to work upon
374
+ * @font_data: @font user data pointer
375
+ * @first_glyph: The glyph ID of the first glyph in the glyph pair
376
+ * @second_glyph: The glyph ID of the second glyph in the glyph pair
377
+ * @user_data: User data pointer passed by the caller
378
+ *
379
+ * This method should retrieve the kerning-adjustment value for a glyph-pair in
380
+ * the specified font, for horizontal text segments.
381
+ *
382
+ **/
383
+ typedef hb_position_t (*hb_font_get_glyph_kerning_func_t) (hb_font_t *font, void *font_data,
384
+ hb_codepoint_t first_glyph, hb_codepoint_t second_glyph,
385
+ void *user_data);
386
+ /**
387
+ * hb_font_get_glyph_h_kerning_func_t:
388
+ *
389
+ * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
390
+ *
391
+ * This method should retrieve the kerning-adjustment value for a glyph-pair in
392
+ * the specified font, for horizontal text segments.
393
+ *
394
+ **/
395
+ typedef hb_font_get_glyph_kerning_func_t hb_font_get_glyph_h_kerning_func_t;
396
+
397
+
398
+ /**
399
+ * hb_font_get_glyph_extents_func_t:
400
+ * @font: #hb_font_t to work upon
401
+ * @font_data: @font user data pointer
402
+ * @glyph: The glyph ID to query
403
+ * @extents: (out): The #hb_glyph_extents_t retrieved
404
+ * @user_data: User data pointer passed by the caller
405
+ *
406
+ * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
407
+ *
408
+ * This method should retrieve the extents for a specified glyph. Extents must be
409
+ * returned in an #hb_glyph_extents output parameter.
410
+ *
411
+ * Return value: `true` if data found, `false` otherwise
412
+ *
413
+ **/
414
+ typedef hb_bool_t (*hb_font_get_glyph_extents_func_t) (hb_font_t *font, void *font_data,
415
+ hb_codepoint_t glyph,
416
+ hb_glyph_extents_t *extents,
417
+ void *user_data);
418
+
419
+ /**
420
+ * hb_font_get_glyph_contour_point_func_t:
421
+ * @font: #hb_font_t to work upon
422
+ * @font_data: @font user data pointer
423
+ * @glyph: The glyph ID to query
424
+ * @point_index: The contour-point index to query
425
+ * @x: (out): The X value retrieved for the contour point
426
+ * @y: (out): The Y value retrieved for the contour point
427
+ * @user_data: User data pointer passed by the caller
428
+ *
429
+ * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
430
+ *
431
+ * This method should retrieve the (X,Y) coordinates (in font units) for a
432
+ * specified contour point in a glyph. Each coordinate must be returned as
433
+ * an #hb_position_t output parameter.
434
+ *
435
+ * Return value: `true` if data found, `false` otherwise
436
+ *
437
+ **/
438
+ typedef hb_bool_t (*hb_font_get_glyph_contour_point_func_t) (hb_font_t *font, void *font_data,
439
+ hb_codepoint_t glyph, unsigned int point_index,
440
+ hb_position_t *x, hb_position_t *y,
441
+ void *user_data);
442
+
443
+
444
+ /**
445
+ * hb_font_get_glyph_name_func_t:
446
+ * @font: #hb_font_t to work upon
447
+ * @font_data: @font user data pointer
448
+ * @glyph: The glyph ID to query
449
+ * @name: (out) (array length=size): Name string retrieved for the glyph ID
450
+ * @size: Length of the glyph-name string retrieved
451
+ * @user_data: User data pointer passed by the caller
452
+ *
453
+ * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
454
+ *
455
+ * This method should retrieve the glyph name that corresponds to a
456
+ * glyph ID. The name should be returned in a string output parameter.
457
+ *
458
+ * Return value: `true` if data found, `false` otherwise
459
+ *
460
+ **/
461
+ typedef hb_bool_t (*hb_font_get_glyph_name_func_t) (hb_font_t *font, void *font_data,
462
+ hb_codepoint_t glyph,
463
+ char *name, unsigned int size,
464
+ void *user_data);
465
+
466
+ /**
467
+ * hb_font_get_glyph_from_name_func_t:
468
+ * @font: #hb_font_t to work upon
469
+ * @font_data: @font user data pointer
470
+ * @name: (array length=len): The name string to query
471
+ * @len: The length of the name queried
472
+ * @glyph: (out): The glyph ID retrieved
473
+ * @user_data: User data pointer passed by the caller
474
+ *
475
+ * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
476
+ *
477
+ * This method should retrieve the glyph ID that corresponds to a glyph-name
478
+ * string.
479
+ *
480
+ * Return value: `true` if data found, `false` otherwise
481
+ *
482
+ **/
483
+ typedef hb_bool_t (*hb_font_get_glyph_from_name_func_t) (hb_font_t *font, void *font_data,
484
+ const char *name, int len, /* -1 means nul-terminated */
485
+ hb_codepoint_t *glyph,
486
+ void *user_data);
487
+
488
+ /**
489
+ * hb_font_draw_glyph_func_t:
490
+ * @font: #hb_font_t to work upon
491
+ * @font_data: @font user data pointer
492
+ * @glyph: The glyph ID to query
493
+ * @draw_funcs: The draw functions to send the shape data to
494
+ * @draw_data: The data accompanying the draw functions
495
+ * @user_data: User data pointer passed by the caller
496
+ *
497
+ * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
498
+ *
499
+ * Since: 7.0.0
500
+ *
501
+ **/
502
+ typedef void (*hb_font_draw_glyph_func_t) (hb_font_t *font, void *font_data,
503
+ hb_codepoint_t glyph,
504
+ hb_draw_funcs_t *draw_funcs, void *draw_data,
505
+ void *user_data);
506
+
507
+ /**
508
+ * hb_font_paint_glyph_func_t:
509
+ * @font: #hb_font_t to work upon
510
+ * @font_data: @font user data pointer
511
+ * @glyph: The glyph ID to query
512
+ * @paint_funcs: The paint functions to use
513
+ * @paint_data: The data accompanying the paint functions
514
+ * @palette_index: The color palette to use
515
+ * @foreground: The foreground color
516
+ * @user_data: User data pointer passed by the caller
517
+ *
518
+ * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
519
+ *
520
+ * Since: 7.0.0
521
+ */
522
+ typedef void (*hb_font_paint_glyph_func_t) (hb_font_t *font, void *font_data,
523
+ hb_codepoint_t glyph,
524
+ hb_paint_funcs_t *paint_funcs, void *paint_data,
525
+ unsigned int palette_index,
526
+ hb_color_t foreground,
527
+ void *user_data);
528
+
529
+ /* func setters */
530
+
531
+ /**
532
+ * hb_font_funcs_set_font_h_extents_func:
533
+ * @ffuncs: A font-function structure
534
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
535
+ * @user_data: Data to pass to @func
536
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
537
+ *
538
+ * Sets the implementation function for #hb_font_get_font_h_extents_func_t.
539
+ *
540
+ * Since: 1.1.2
541
+ **/
542
+ HB_EXTERN void
543
+ hb_font_funcs_set_font_h_extents_func (hb_font_funcs_t *ffuncs,
544
+ hb_font_get_font_h_extents_func_t func,
545
+ void *user_data, hb_destroy_func_t destroy);
546
+
547
+ /**
548
+ * hb_font_funcs_set_font_v_extents_func:
549
+ * @ffuncs: A font-function structure
550
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
551
+ * @user_data: Data to pass to @func
552
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
553
+ *
554
+ * Sets the implementation function for #hb_font_get_font_v_extents_func_t.
555
+ *
556
+ * Since: 1.1.2
557
+ **/
558
+ HB_EXTERN void
559
+ hb_font_funcs_set_font_v_extents_func (hb_font_funcs_t *ffuncs,
560
+ hb_font_get_font_v_extents_func_t func,
561
+ void *user_data, hb_destroy_func_t destroy);
562
+
563
+ /**
564
+ * hb_font_funcs_set_nominal_glyph_func:
565
+ * @ffuncs: A font-function structure
566
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
567
+ * @user_data: Data to pass to @func
568
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
569
+ *
570
+ * Sets the implementation function for #hb_font_get_nominal_glyph_func_t.
571
+ *
572
+ * Since: 1.2.3
573
+ **/
574
+ HB_EXTERN void
575
+ hb_font_funcs_set_nominal_glyph_func (hb_font_funcs_t *ffuncs,
576
+ hb_font_get_nominal_glyph_func_t func,
577
+ void *user_data, hb_destroy_func_t destroy);
578
+
579
+ /**
580
+ * hb_font_funcs_set_nominal_glyphs_func:
581
+ * @ffuncs: A font-function structure
582
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
583
+ * @user_data: Data to pass to @func
584
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
585
+ *
586
+ * Sets the implementation function for #hb_font_get_nominal_glyphs_func_t.
587
+ *
588
+ * Since: 2.0.0
589
+ **/
590
+ HB_EXTERN void
591
+ hb_font_funcs_set_nominal_glyphs_func (hb_font_funcs_t *ffuncs,
592
+ hb_font_get_nominal_glyphs_func_t func,
593
+ void *user_data, hb_destroy_func_t destroy);
594
+
595
+ /**
596
+ * hb_font_funcs_set_variation_glyph_func:
597
+ * @ffuncs: A font-function structure
598
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
599
+ * @user_data: Data to pass to @func
600
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
601
+ *
602
+ * Sets the implementation function for #hb_font_get_variation_glyph_func_t.
603
+ *
604
+ * Since: 1.2.3
605
+ **/
606
+ HB_EXTERN void
607
+ hb_font_funcs_set_variation_glyph_func (hb_font_funcs_t *ffuncs,
608
+ hb_font_get_variation_glyph_func_t func,
609
+ void *user_data, hb_destroy_func_t destroy);
610
+
611
+ /**
612
+ * hb_font_funcs_set_glyph_h_advance_func:
613
+ * @ffuncs: A font-function structure
614
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
615
+ * @user_data: Data to pass to @func
616
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
617
+ *
618
+ * Sets the implementation function for #hb_font_get_glyph_h_advance_func_t.
619
+ *
620
+ * Since: 0.9.2
621
+ **/
622
+ HB_EXTERN void
623
+ hb_font_funcs_set_glyph_h_advance_func (hb_font_funcs_t *ffuncs,
624
+ hb_font_get_glyph_h_advance_func_t func,
625
+ void *user_data, hb_destroy_func_t destroy);
626
+
627
+ /**
628
+ * hb_font_funcs_set_glyph_v_advance_func:
629
+ * @ffuncs: A font-function structure
630
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
631
+ * @user_data: Data to pass to @func
632
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
633
+ *
634
+ * Sets the implementation function for #hb_font_get_glyph_v_advance_func_t.
635
+ *
636
+ * Since: 0.9.2
637
+ **/
638
+ HB_EXTERN void
639
+ hb_font_funcs_set_glyph_v_advance_func (hb_font_funcs_t *ffuncs,
640
+ hb_font_get_glyph_v_advance_func_t func,
641
+ void *user_data, hb_destroy_func_t destroy);
642
+
643
+ /**
644
+ * hb_font_funcs_set_glyph_h_advances_func:
645
+ * @ffuncs: A font-function structure
646
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
647
+ * @user_data: Data to pass to @func
648
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
649
+ *
650
+ * Sets the implementation function for #hb_font_get_glyph_h_advances_func_t.
651
+ *
652
+ * Since: 1.8.6
653
+ **/
654
+ HB_EXTERN void
655
+ hb_font_funcs_set_glyph_h_advances_func (hb_font_funcs_t *ffuncs,
656
+ hb_font_get_glyph_h_advances_func_t func,
657
+ void *user_data, hb_destroy_func_t destroy);
658
+
659
+ /**
660
+ * hb_font_funcs_set_glyph_v_advances_func:
661
+ * @ffuncs: A font-function structure
662
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
663
+ * @user_data: Data to pass to @func
664
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
665
+ *
666
+ * Sets the implementation function for #hb_font_get_glyph_v_advances_func_t.
667
+ *
668
+ * Since: 1.8.6
669
+ **/
670
+ HB_EXTERN void
671
+ hb_font_funcs_set_glyph_v_advances_func (hb_font_funcs_t *ffuncs,
672
+ hb_font_get_glyph_v_advances_func_t func,
673
+ void *user_data, hb_destroy_func_t destroy);
674
+
675
+ /**
676
+ * hb_font_funcs_set_glyph_h_origin_func:
677
+ * @ffuncs: A font-function structure
678
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
679
+ * @user_data: Data to pass to @func
680
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
681
+ *
682
+ * Sets the implementation function for #hb_font_get_glyph_h_origin_func_t.
683
+ *
684
+ * Since: 0.9.2
685
+ **/
686
+ HB_EXTERN void
687
+ hb_font_funcs_set_glyph_h_origin_func (hb_font_funcs_t *ffuncs,
688
+ hb_font_get_glyph_h_origin_func_t func,
689
+ void *user_data, hb_destroy_func_t destroy);
690
+
691
+ /**
692
+ * hb_font_funcs_set_glyph_v_origin_func:
693
+ * @ffuncs: A font-function structure
694
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
695
+ * @user_data: Data to pass to @func
696
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
697
+ *
698
+ * Sets the implementation function for #hb_font_get_glyph_v_origin_func_t.
699
+ *
700
+ * Since: 0.9.2
701
+ **/
702
+ HB_EXTERN void
703
+ hb_font_funcs_set_glyph_v_origin_func (hb_font_funcs_t *ffuncs,
704
+ hb_font_get_glyph_v_origin_func_t func,
705
+ void *user_data, hb_destroy_func_t destroy);
706
+
707
+ /**
708
+ * hb_font_funcs_set_glyph_h_kerning_func:
709
+ * @ffuncs: A font-function structure
710
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
711
+ * @user_data: Data to pass to @func
712
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
713
+ *
714
+ * Sets the implementation function for #hb_font_get_glyph_h_kerning_func_t.
715
+ *
716
+ * Since: 0.9.2
717
+ **/
718
+ HB_EXTERN void
719
+ hb_font_funcs_set_glyph_h_kerning_func (hb_font_funcs_t *ffuncs,
720
+ hb_font_get_glyph_h_kerning_func_t func,
721
+ void *user_data, hb_destroy_func_t destroy);
722
+
723
+ /**
724
+ * hb_font_funcs_set_glyph_extents_func:
725
+ * @ffuncs: A font-function structure
726
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
727
+ * @user_data: Data to pass to @func
728
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
729
+ *
730
+ * Sets the implementation function for #hb_font_get_glyph_extents_func_t.
731
+ *
732
+ * Since: 0.9.2
733
+ **/
734
+ HB_EXTERN void
735
+ hb_font_funcs_set_glyph_extents_func (hb_font_funcs_t *ffuncs,
736
+ hb_font_get_glyph_extents_func_t func,
737
+ void *user_data, hb_destroy_func_t destroy);
738
+
739
+ /**
740
+ * hb_font_funcs_set_glyph_contour_point_func:
741
+ * @ffuncs: A font-function structure
742
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
743
+ * @user_data: Data to pass to @func
744
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
745
+ *
746
+ * Sets the implementation function for #hb_font_get_glyph_contour_point_func_t.
747
+ *
748
+ * Since: 0.9.2
749
+ **/
750
+ HB_EXTERN void
751
+ hb_font_funcs_set_glyph_contour_point_func (hb_font_funcs_t *ffuncs,
752
+ hb_font_get_glyph_contour_point_func_t func,
753
+ void *user_data, hb_destroy_func_t destroy);
754
+
755
+ /**
756
+ * hb_font_funcs_set_glyph_name_func:
757
+ * @ffuncs: A font-function structure
758
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
759
+ * @user_data: Data to pass to @func
760
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
761
+ *
762
+ * Sets the implementation function for #hb_font_get_glyph_name_func_t.
763
+ *
764
+ * Since: 0.9.2
765
+ **/
766
+ HB_EXTERN void
767
+ hb_font_funcs_set_glyph_name_func (hb_font_funcs_t *ffuncs,
768
+ hb_font_get_glyph_name_func_t func,
769
+ void *user_data, hb_destroy_func_t destroy);
770
+
771
+ /**
772
+ * hb_font_funcs_set_glyph_from_name_func:
773
+ * @ffuncs: A font-function structure
774
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
775
+ * @user_data: Data to pass to @func
776
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
777
+ *
778
+ * Sets the implementation function for #hb_font_get_glyph_from_name_func_t.
779
+ *
780
+ * Since: 0.9.2
781
+ **/
782
+ HB_EXTERN void
783
+ hb_font_funcs_set_glyph_from_name_func (hb_font_funcs_t *ffuncs,
784
+ hb_font_get_glyph_from_name_func_t func,
785
+ void *user_data, hb_destroy_func_t destroy);
786
+
787
+ /**
788
+ * hb_font_funcs_set_draw_glyph_func:
789
+ * @ffuncs: A font-function structure
790
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
791
+ * @user_data: Data to pass to @func
792
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
793
+ *
794
+ * Sets the implementation function for #hb_font_draw_glyph_func_t.
795
+ *
796
+ * Since: 7.0.0
797
+ **/
798
+ HB_EXTERN void
799
+ hb_font_funcs_set_draw_glyph_func (hb_font_funcs_t *ffuncs,
800
+ hb_font_draw_glyph_func_t func,
801
+ void *user_data, hb_destroy_func_t destroy);
802
+
803
+ /**
804
+ * hb_font_funcs_set_paint_glyph_func:
805
+ * @ffuncs: A font-function structure
806
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
807
+ * @user_data: Data to pass to @func
808
+ * @destroy: (nullable): The function to call when @user_data is no longer needed
809
+ *
810
+ * Sets the implementation function for #hb_font_paint_glyph_func_t.
811
+ *
812
+ * Since: 7.0.0
813
+ */
814
+ HB_EXTERN void
815
+ hb_font_funcs_set_paint_glyph_func (hb_font_funcs_t *ffuncs,
816
+ hb_font_paint_glyph_func_t func,
817
+ void *user_data, hb_destroy_func_t destroy);
818
+
819
+ /* func dispatch */
820
+
821
+ HB_EXTERN hb_bool_t
822
+ hb_font_get_h_extents (hb_font_t *font,
823
+ hb_font_extents_t *extents);
824
+ HB_EXTERN hb_bool_t
825
+ hb_font_get_v_extents (hb_font_t *font,
826
+ hb_font_extents_t *extents);
827
+
828
+ HB_EXTERN hb_bool_t
829
+ hb_font_get_nominal_glyph (hb_font_t *font,
830
+ hb_codepoint_t unicode,
831
+ hb_codepoint_t *glyph);
832
+ HB_EXTERN hb_bool_t
833
+ hb_font_get_variation_glyph (hb_font_t *font,
834
+ hb_codepoint_t unicode, hb_codepoint_t variation_selector,
835
+ hb_codepoint_t *glyph);
836
+
837
+ HB_EXTERN unsigned int
838
+ hb_font_get_nominal_glyphs (hb_font_t *font,
839
+ unsigned int count,
840
+ const hb_codepoint_t *first_unicode,
841
+ unsigned int unicode_stride,
842
+ hb_codepoint_t *first_glyph,
843
+ unsigned int glyph_stride);
844
+
845
+ HB_EXTERN hb_position_t
846
+ hb_font_get_glyph_h_advance (hb_font_t *font,
847
+ hb_codepoint_t glyph);
848
+ HB_EXTERN hb_position_t
849
+ hb_font_get_glyph_v_advance (hb_font_t *font,
850
+ hb_codepoint_t glyph);
851
+
852
+ HB_EXTERN void
853
+ hb_font_get_glyph_h_advances (hb_font_t* font,
854
+ unsigned int count,
855
+ const hb_codepoint_t *first_glyph,
856
+ unsigned glyph_stride,
857
+ hb_position_t *first_advance,
858
+ unsigned advance_stride);
859
+ HB_EXTERN void
860
+ hb_font_get_glyph_v_advances (hb_font_t* font,
861
+ unsigned int count,
862
+ const hb_codepoint_t *first_glyph,
863
+ unsigned glyph_stride,
864
+ hb_position_t *first_advance,
865
+ unsigned advance_stride);
866
+
867
+ HB_EXTERN hb_bool_t
868
+ hb_font_get_glyph_h_origin (hb_font_t *font,
869
+ hb_codepoint_t glyph,
870
+ hb_position_t *x, hb_position_t *y);
871
+ HB_EXTERN hb_bool_t
872
+ hb_font_get_glyph_v_origin (hb_font_t *font,
873
+ hb_codepoint_t glyph,
874
+ hb_position_t *x, hb_position_t *y);
875
+
876
+ HB_EXTERN hb_position_t
877
+ hb_font_get_glyph_h_kerning (hb_font_t *font,
878
+ hb_codepoint_t left_glyph, hb_codepoint_t right_glyph);
879
+
880
+ HB_EXTERN hb_bool_t
881
+ hb_font_get_glyph_extents (hb_font_t *font,
882
+ hb_codepoint_t glyph,
883
+ hb_glyph_extents_t *extents);
884
+
885
+ HB_EXTERN hb_bool_t
886
+ hb_font_get_glyph_contour_point (hb_font_t *font,
887
+ hb_codepoint_t glyph, unsigned int point_index,
888
+ hb_position_t *x, hb_position_t *y);
889
+
890
+ HB_EXTERN hb_bool_t
891
+ hb_font_get_glyph_name (hb_font_t *font,
892
+ hb_codepoint_t glyph,
893
+ char *name, unsigned int size);
894
+ HB_EXTERN hb_bool_t
895
+ hb_font_get_glyph_from_name (hb_font_t *font,
896
+ const char *name, int len, /* -1 means nul-terminated */
897
+ hb_codepoint_t *glyph);
898
+
899
+ HB_EXTERN void
900
+ hb_font_draw_glyph (hb_font_t *font,
901
+ hb_codepoint_t glyph,
902
+ hb_draw_funcs_t *dfuncs, void *draw_data);
903
+
904
+ HB_EXTERN void
905
+ hb_font_paint_glyph (hb_font_t *font,
906
+ hb_codepoint_t glyph,
907
+ hb_paint_funcs_t *pfuncs, void *paint_data,
908
+ unsigned int palette_index,
909
+ hb_color_t foreground);
910
+
911
+ /* high-level funcs, with fallback */
912
+
913
+ /* Calls either hb_font_get_nominal_glyph() if variation_selector is 0,
914
+ * otherwise calls hb_font_get_variation_glyph(). */
915
+ HB_EXTERN hb_bool_t
916
+ hb_font_get_glyph (hb_font_t *font,
917
+ hb_codepoint_t unicode, hb_codepoint_t variation_selector,
918
+ hb_codepoint_t *glyph);
919
+
920
+ HB_EXTERN void
921
+ hb_font_get_extents_for_direction (hb_font_t *font,
922
+ hb_direction_t direction,
923
+ hb_font_extents_t *extents);
924
+ HB_EXTERN void
925
+ hb_font_get_glyph_advance_for_direction (hb_font_t *font,
926
+ hb_codepoint_t glyph,
927
+ hb_direction_t direction,
928
+ hb_position_t *x, hb_position_t *y);
929
+ HB_EXTERN void
930
+ hb_font_get_glyph_advances_for_direction (hb_font_t* font,
931
+ hb_direction_t direction,
932
+ unsigned int count,
933
+ const hb_codepoint_t *first_glyph,
934
+ unsigned glyph_stride,
935
+ hb_position_t *first_advance,
936
+ unsigned advance_stride);
937
+ HB_EXTERN 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
+ HB_EXTERN void
943
+ hb_font_add_glyph_origin_for_direction (hb_font_t *font,
944
+ hb_codepoint_t glyph,
945
+ hb_direction_t direction,
946
+ hb_position_t *x, hb_position_t *y);
947
+ HB_EXTERN void
948
+ hb_font_subtract_glyph_origin_for_direction (hb_font_t *font,
949
+ hb_codepoint_t glyph,
950
+ hb_direction_t direction,
951
+ hb_position_t *x, hb_position_t *y);
952
+
953
+ HB_EXTERN void
954
+ hb_font_get_glyph_kerning_for_direction (hb_font_t *font,
955
+ hb_codepoint_t first_glyph, hb_codepoint_t second_glyph,
956
+ hb_direction_t direction,
957
+ hb_position_t *x, hb_position_t *y);
958
+
959
+ HB_EXTERN hb_bool_t
960
+ hb_font_get_glyph_extents_for_origin (hb_font_t *font,
961
+ hb_codepoint_t glyph,
962
+ hb_direction_t direction,
963
+ hb_glyph_extents_t *extents);
964
+
965
+ HB_EXTERN hb_bool_t
966
+ hb_font_get_glyph_contour_point_for_origin (hb_font_t *font,
967
+ hb_codepoint_t glyph, unsigned int point_index,
968
+ hb_direction_t direction,
969
+ hb_position_t *x, hb_position_t *y);
970
+
971
+ /* Generates gidDDD if glyph has no name. */
972
+ HB_EXTERN void
973
+ hb_font_glyph_to_string (hb_font_t *font,
974
+ hb_codepoint_t glyph,
975
+ char *s, unsigned int size);
976
+ /* Parses gidDDD and uniUUUU strings automatically. */
977
+ HB_EXTERN hb_bool_t
978
+ hb_font_glyph_from_string (hb_font_t *font,
979
+ const char *s, int len, /* -1 means nul-terminated */
980
+ hb_codepoint_t *glyph);
981
+
982
+
983
+ /*
984
+ * hb_font_t
985
+ */
986
+
987
+ /* Fonts are very light-weight objects */
988
+
989
+ HB_EXTERN hb_font_t *
990
+ hb_font_create (hb_face_t *face);
991
+
992
+ HB_EXTERN hb_font_t *
993
+ hb_font_create_sub_font (hb_font_t *parent);
994
+
995
+ HB_EXTERN hb_font_t *
996
+ hb_font_get_empty (void);
997
+
998
+ HB_EXTERN hb_font_t *
999
+ hb_font_reference (hb_font_t *font);
1000
+
1001
+ HB_EXTERN void
1002
+ hb_font_destroy (hb_font_t *font);
1003
+
1004
+ HB_EXTERN hb_bool_t
1005
+ hb_font_set_user_data (hb_font_t *font,
1006
+ hb_user_data_key_t *key,
1007
+ void * data,
1008
+ hb_destroy_func_t destroy,
1009
+ hb_bool_t replace);
1010
+
1011
+
1012
+ HB_EXTERN void *
1013
+ hb_font_get_user_data (const hb_font_t *font,
1014
+ hb_user_data_key_t *key);
1015
+
1016
+ HB_EXTERN void
1017
+ hb_font_make_immutable (hb_font_t *font);
1018
+
1019
+ HB_EXTERN hb_bool_t
1020
+ hb_font_is_immutable (hb_font_t *font);
1021
+
1022
+ HB_EXTERN unsigned int
1023
+ hb_font_get_serial (hb_font_t *font);
1024
+
1025
+ HB_EXTERN void
1026
+ hb_font_changed (hb_font_t *font);
1027
+
1028
+ HB_EXTERN void
1029
+ hb_font_set_parent (hb_font_t *font,
1030
+ hb_font_t *parent);
1031
+
1032
+ HB_EXTERN hb_font_t *
1033
+ hb_font_get_parent (hb_font_t *font);
1034
+
1035
+ HB_EXTERN void
1036
+ hb_font_set_face (hb_font_t *font,
1037
+ hb_face_t *face);
1038
+
1039
+ HB_EXTERN hb_face_t *
1040
+ hb_font_get_face (hb_font_t *font);
1041
+
1042
+
1043
+ HB_EXTERN void
1044
+ hb_font_set_funcs (hb_font_t *font,
1045
+ hb_font_funcs_t *klass,
1046
+ void *font_data,
1047
+ hb_destroy_func_t destroy);
1048
+
1049
+ /* Be *very* careful with this function! */
1050
+ HB_EXTERN void
1051
+ hb_font_set_funcs_data (hb_font_t *font,
1052
+ void *font_data,
1053
+ hb_destroy_func_t destroy);
1054
+
1055
+
1056
+ HB_EXTERN void
1057
+ hb_font_set_scale (hb_font_t *font,
1058
+ int x_scale,
1059
+ int y_scale);
1060
+
1061
+ HB_EXTERN void
1062
+ hb_font_get_scale (hb_font_t *font,
1063
+ int *x_scale,
1064
+ int *y_scale);
1065
+
1066
+ /*
1067
+ * A zero value means "no hinting in that direction"
1068
+ */
1069
+ HB_EXTERN void
1070
+ hb_font_set_ppem (hb_font_t *font,
1071
+ unsigned int x_ppem,
1072
+ unsigned int y_ppem);
1073
+
1074
+ HB_EXTERN void
1075
+ hb_font_get_ppem (hb_font_t *font,
1076
+ unsigned int *x_ppem,
1077
+ unsigned int *y_ppem);
1078
+
1079
+ /*
1080
+ * Point size per EM. Used for optical-sizing in CoreText.
1081
+ * A value of zero means "not set".
1082
+ */
1083
+ HB_EXTERN void
1084
+ hb_font_set_ptem (hb_font_t *font, float ptem);
1085
+
1086
+ HB_EXTERN float
1087
+ hb_font_get_ptem (hb_font_t *font);
1088
+
1089
+ HB_EXTERN void
1090
+ hb_font_set_synthetic_bold (hb_font_t *font,
1091
+ float x_embolden, float y_embolden,
1092
+ hb_bool_t in_place);
1093
+
1094
+ HB_EXTERN void
1095
+ hb_font_get_synthetic_bold (hb_font_t *font,
1096
+ float *x_embolden, float *y_embolden,
1097
+ hb_bool_t *in_place);
1098
+
1099
+ HB_EXTERN void
1100
+ hb_font_set_synthetic_slant (hb_font_t *font, float slant);
1101
+
1102
+ HB_EXTERN float
1103
+ hb_font_get_synthetic_slant (hb_font_t *font);
1104
+
1105
+ HB_EXTERN void
1106
+ hb_font_set_variations (hb_font_t *font,
1107
+ const hb_variation_t *variations,
1108
+ unsigned int variations_length);
1109
+
1110
+ HB_EXTERN void
1111
+ hb_font_set_variation (hb_font_t *font,
1112
+ hb_tag_t tag,
1113
+ float value);
1114
+
1115
+ HB_EXTERN void
1116
+ hb_font_set_var_coords_design (hb_font_t *font,
1117
+ const float *coords,
1118
+ unsigned int coords_length);
1119
+
1120
+ HB_EXTERN const float *
1121
+ hb_font_get_var_coords_design (hb_font_t *font,
1122
+ unsigned int *length);
1123
+
1124
+ HB_EXTERN void
1125
+ hb_font_set_var_coords_normalized (hb_font_t *font,
1126
+ const int *coords, /* 2.14 normalized */
1127
+ unsigned int coords_length);
1128
+
1129
+ HB_EXTERN const int *
1130
+ hb_font_get_var_coords_normalized (hb_font_t *font,
1131
+ unsigned int *length);
1132
+
1133
+ /**
1134
+ * HB_FONT_NO_VAR_NAMED_INSTANCE:
1135
+ *
1136
+ * Constant signifying that a font does not have any
1137
+ * named-instance index set. This is the default of
1138
+ * a font.
1139
+ *
1140
+ * Since: 7.0.0
1141
+ */
1142
+ #define HB_FONT_NO_VAR_NAMED_INSTANCE 0xFFFFFFFF
1143
+
1144
+ HB_EXTERN void
1145
+ hb_font_set_var_named_instance (hb_font_t *font,
1146
+ unsigned int instance_index);
1147
+
1148
+ HB_EXTERN unsigned int
1149
+ hb_font_get_var_named_instance (hb_font_t *font);
1150
+
1151
+ HB_END_DECLS
1152
+
1153
+ #endif /* HB_FONT_H */