pango 2.2.4-x64-mingw32

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 (530) hide show
  1. checksums.yaml +7 -0
  2. data/README +33 -0
  3. data/Rakefile +65 -0
  4. data/ext/pango/depend +12 -0
  5. data/ext/pango/extconf.rb +90 -0
  6. data/ext/pango/pango.def +18 -0
  7. data/ext/pango/rbpango.c +318 -0
  8. data/ext/pango/rbpango.h +96 -0
  9. data/ext/pango/rbpangoanalysis.c +218 -0
  10. data/ext/pango/rbpangoattribute.c +499 -0
  11. data/ext/pango/rbpangoattriterator.c +141 -0
  12. data/ext/pango/rbpangoattrlist.c +101 -0
  13. data/ext/pango/rbpangocairo.c +122 -0
  14. data/ext/pango/rbpangocairocontext.c +131 -0
  15. data/ext/pango/rbpangocolor.c +120 -0
  16. data/ext/pango/rbpangocontext.c +309 -0
  17. data/ext/pango/rbpangoconversions.h +111 -0
  18. data/ext/pango/rbpangocoverage.c +106 -0
  19. data/ext/pango/rbpangoengine.c +73 -0
  20. data/ext/pango/rbpangofont.c +110 -0
  21. data/ext/pango/rbpangofontdescription.c +282 -0
  22. data/ext/pango/rbpangofontface.c +73 -0
  23. data/ext/pango/rbpangofontfamily.c +79 -0
  24. data/ext/pango/rbpangofontmap.c +102 -0
  25. data/ext/pango/rbpangofontmetrics.c +85 -0
  26. data/ext/pango/rbpangofontset.c +69 -0
  27. data/ext/pango/rbpangofontsetsimple.c +60 -0
  28. data/ext/pango/rbpangoglyphinfo.c +123 -0
  29. data/ext/pango/rbpangoglyphitem.c +125 -0
  30. data/ext/pango/rbpangoglyphstring.c +151 -0
  31. data/ext/pango/rbpangogravity.c +54 -0
  32. data/ext/pango/rbpangoitem.c +95 -0
  33. data/ext/pango/rbpangolanguage.c +86 -0
  34. data/ext/pango/rbpangolayout.c +572 -0
  35. data/ext/pango/rbpangolayoutiter.c +189 -0
  36. data/ext/pango/rbpangolayoutline.c +239 -0
  37. data/ext/pango/rbpangologattr.c +109 -0
  38. data/ext/pango/rbpangomatrix.c +143 -0
  39. data/ext/pango/rbpangoprivate.h +49 -0
  40. data/ext/pango/rbpangorectangle.c +170 -0
  41. data/ext/pango/rbpangorenderer.c +193 -0
  42. data/ext/pango/rbpangoscript.c +84 -0
  43. data/ext/pango/rbpangoscriptiter.c +92 -0
  44. data/ext/pango/rbpangotabarray.c +128 -0
  45. data/extconf.rb +49 -0
  46. data/lib/2.0/pango.so +0 -0
  47. data/lib/2.1/pango.so +0 -0
  48. data/lib/2.2/pango.so +0 -0
  49. data/lib/pango.rb +79 -0
  50. data/sample/attribute.rb +82 -0
  51. data/sample/break.rb +28 -0
  52. data/sample/gdk_layout.rb +27 -0
  53. data/sample/glyphstring.rb +61 -0
  54. data/sample/item.rb +37 -0
  55. data/sample/label.rb +23 -0
  56. data/sample/layout.rb +102 -0
  57. data/sample/pango_cairo.rb +66 -0
  58. data/sample/parse.rb +33 -0
  59. data/sample/sample.txt +10 -0
  60. data/sample/script.rb +23 -0
  61. data/test/pango-test-utils.rb +9 -0
  62. data/test/run-test.rb +28 -0
  63. data/test/test-analysis.rb +26 -0
  64. data/test/test-attribute.rb +19 -0
  65. data/test/test-color.rb +47 -0
  66. data/test/test-language.rb +7 -0
  67. data/test/test-layout.rb +34 -0
  68. data/test/test-log-attr.rb +26 -0
  69. data/test/test-matrix.rb +26 -0
  70. data/test/test-rectangle.rb +26 -0
  71. data/vendor/local/bin/derb.exe +0 -0
  72. data/vendor/local/bin/genbrk.exe +0 -0
  73. data/vendor/local/bin/genccode.exe +0 -0
  74. data/vendor/local/bin/gencfu.exe +0 -0
  75. data/vendor/local/bin/gencmn.exe +0 -0
  76. data/vendor/local/bin/gencnval.exe +0 -0
  77. data/vendor/local/bin/gendict.exe +0 -0
  78. data/vendor/local/bin/gennorm2.exe +0 -0
  79. data/vendor/local/bin/genrb.exe +0 -0
  80. data/vendor/local/bin/gensprep.exe +0 -0
  81. data/vendor/local/bin/hb-ot-shape-closure.exe +0 -0
  82. data/vendor/local/bin/hb-shape.exe +0 -0
  83. data/vendor/local/bin/hb-view.exe +0 -0
  84. data/vendor/local/bin/icu-config +820 -0
  85. data/vendor/local/bin/icuinfo.exe +0 -0
  86. data/vendor/local/bin/icupkg.exe +0 -0
  87. data/vendor/local/bin/libharfbuzz-0.dll +0 -0
  88. data/vendor/local/bin/libpango-1.0-0.dll +0 -0
  89. data/vendor/local/bin/libpangocairo-1.0-0.dll +0 -0
  90. data/vendor/local/bin/libpangoft2-1.0-0.dll +0 -0
  91. data/vendor/local/bin/libpangowin32-1.0-0.dll +0 -0
  92. data/vendor/local/bin/makeconv.exe +0 -0
  93. data/vendor/local/bin/pango-querymodules.exe +0 -0
  94. data/vendor/local/bin/pango-view.exe +0 -0
  95. data/vendor/local/bin/pkgdata.exe +0 -0
  96. data/vendor/local/bin/uconv.exe +0 -0
  97. data/vendor/local/etc/pango/pango.modules +19 -0
  98. data/vendor/local/include/harfbuzz/hb-blob.h +126 -0
  99. data/vendor/local/include/harfbuzz/hb-buffer.h +344 -0
  100. data/vendor/local/include/harfbuzz/hb-common.h +344 -0
  101. data/vendor/local/include/harfbuzz/hb-deprecated.h +51 -0
  102. data/vendor/local/include/harfbuzz/hb-face.h +117 -0
  103. data/vendor/local/include/harfbuzz/hb-font.h +507 -0
  104. data/vendor/local/include/harfbuzz/hb-ft.h +62 -0
  105. data/vendor/local/include/harfbuzz/hb-glib.h +52 -0
  106. data/vendor/local/include/harfbuzz/hb-icu.h +52 -0
  107. data/vendor/local/include/harfbuzz/hb-ot-font.h +41 -0
  108. data/vendor/local/include/harfbuzz/hb-ot-layout.h +302 -0
  109. data/vendor/local/include/harfbuzz/hb-ot-shape.h +53 -0
  110. data/vendor/local/include/harfbuzz/hb-ot-tag.h +59 -0
  111. data/vendor/local/include/harfbuzz/hb-ot.h +43 -0
  112. data/vendor/local/include/harfbuzz/hb-set.h +154 -0
  113. data/vendor/local/include/harfbuzz/hb-shape-plan.h +89 -0
  114. data/vendor/local/include/harfbuzz/hb-shape.h +81 -0
  115. data/vendor/local/include/harfbuzz/hb-unicode.h +445 -0
  116. data/vendor/local/include/harfbuzz/hb-version.h +66 -0
  117. data/vendor/local/include/harfbuzz/hb.h +47 -0
  118. data/vendor/local/include/layout/LEFontInstance.h +550 -0
  119. data/vendor/local/include/layout/LEGlyphFilter.h +45 -0
  120. data/vendor/local/include/layout/LEGlyphStorage.h +546 -0
  121. data/vendor/local/include/layout/LEInsertionList.h +177 -0
  122. data/vendor/local/include/layout/LELanguages.h +112 -0
  123. data/vendor/local/include/layout/LEScripts.h +263 -0
  124. data/vendor/local/include/layout/LESwaps.h +100 -0
  125. data/vendor/local/include/layout/LETableReference.h +418 -0
  126. data/vendor/local/include/layout/LETypes.h +728 -0
  127. data/vendor/local/include/layout/LayoutEngine.h +518 -0
  128. data/vendor/local/include/layout/ParagraphLayout.h +747 -0
  129. data/vendor/local/include/layout/RunArrays.h +676 -0
  130. data/vendor/local/include/layout/loengine.h +225 -0
  131. data/vendor/local/include/layout/playout.h +466 -0
  132. data/vendor/local/include/layout/plruns.h +441 -0
  133. data/vendor/local/include/pango-1.0/pango/pango-attributes.h +514 -0
  134. data/vendor/local/include/pango-1.0/pango/pango-bidi-type.h +136 -0
  135. data/vendor/local/include/pango-1.0/pango/pango-break.h +173 -0
  136. data/vendor/local/include/pango-1.0/pango/pango-context.h +112 -0
  137. data/vendor/local/include/pango-1.0/pango/pango-coverage.h +79 -0
  138. data/vendor/local/include/pango-1.0/pango/pango-engine.h +429 -0
  139. data/vendor/local/include/pango-1.0/pango/pango-enum-types.h +69 -0
  140. data/vendor/local/include/pango-1.0/pango/pango-features.h +12 -0
  141. data/vendor/local/include/pango-1.0/pango/pango-font.h +622 -0
  142. data/vendor/local/include/pango-1.0/pango/pango-fontmap.h +167 -0
  143. data/vendor/local/include/pango-1.0/pango/pango-fontset.h +169 -0
  144. data/vendor/local/include/pango-1.0/pango/pango-glyph-item.h +158 -0
  145. data/vendor/local/include/pango-1.0/pango/pango-glyph.h +197 -0
  146. data/vendor/local/include/pango-1.0/pango/pango-gravity.h +128 -0
  147. data/vendor/local/include/pango-1.0/pango/pango-item.h +109 -0
  148. data/vendor/local/include/pango-1.0/pango/pango-language.h +61 -0
  149. data/vendor/local/include/pango-1.0/pango/pango-layout.h +340 -0
  150. data/vendor/local/include/pango-1.0/pango/pango-matrix.h +117 -0
  151. data/vendor/local/include/pango-1.0/pango/pango-modules.h +71 -0
  152. data/vendor/local/include/pango-1.0/pango/pango-ot.h +391 -0
  153. data/vendor/local/include/pango-1.0/pango/pango-renderer.h +260 -0
  154. data/vendor/local/include/pango-1.0/pango/pango-script.h +260 -0
  155. data/vendor/local/include/pango-1.0/pango/pango-tabs.h +87 -0
  156. data/vendor/local/include/pango-1.0/pango/pango-types.h +200 -0
  157. data/vendor/local/include/pango-1.0/pango/pango-utils.h +189 -0
  158. data/vendor/local/include/pango-1.0/pango/pango.h +48 -0
  159. data/vendor/local/include/pango-1.0/pango/pangocairo.h +169 -0
  160. data/vendor/local/include/pango-1.0/pango/pangofc-decoder.h +110 -0
  161. data/vendor/local/include/pango-1.0/pango/pangofc-font.h +153 -0
  162. data/vendor/local/include/pango-1.0/pango/pangofc-fontmap.h +289 -0
  163. data/vendor/local/include/pango-1.0/pango/pangoft2.h +133 -0
  164. data/vendor/local/include/pango-1.0/pango/pangowin32.h +128 -0
  165. data/vendor/local/include/unicode/alphaindex.h +752 -0
  166. data/vendor/local/include/unicode/appendable.h +232 -0
  167. data/vendor/local/include/unicode/basictz.h +214 -0
  168. data/vendor/local/include/unicode/brkiter.h +655 -0
  169. data/vendor/local/include/unicode/bytestream.h +257 -0
  170. data/vendor/local/include/unicode/bytestrie.h +519 -0
  171. data/vendor/local/include/unicode/bytestriebuilder.h +181 -0
  172. data/vendor/local/include/unicode/calendar.h +2519 -0
  173. data/vendor/local/include/unicode/caniter.h +208 -0
  174. data/vendor/local/include/unicode/chariter.h +722 -0
  175. data/vendor/local/include/unicode/choicfmt.h +594 -0
  176. data/vendor/local/include/unicode/coleitr.h +404 -0
  177. data/vendor/local/include/unicode/coll.h +1267 -0
  178. data/vendor/local/include/unicode/compactdecimalformat.h +330 -0
  179. data/vendor/local/include/unicode/curramt.h +130 -0
  180. data/vendor/local/include/unicode/currpinf.h +258 -0
  181. data/vendor/local/include/unicode/currunit.h +110 -0
  182. data/vendor/local/include/unicode/datefmt.h +883 -0
  183. data/vendor/local/include/unicode/dbbi.h +40 -0
  184. data/vendor/local/include/unicode/dcfmtsym.h +482 -0
  185. data/vendor/local/include/unicode/decimfmt.h +2479 -0
  186. data/vendor/local/include/unicode/docmain.h +215 -0
  187. data/vendor/local/include/unicode/dtfmtsym.h +912 -0
  188. data/vendor/local/include/unicode/dtintrv.h +158 -0
  189. data/vendor/local/include/unicode/dtitvfmt.h +985 -0
  190. data/vendor/local/include/unicode/dtitvinf.h +514 -0
  191. data/vendor/local/include/unicode/dtptngen.h +498 -0
  192. data/vendor/local/include/unicode/dtrule.h +250 -0
  193. data/vendor/local/include/unicode/enumset.h +64 -0
  194. data/vendor/local/include/unicode/errorcode.h +137 -0
  195. data/vendor/local/include/unicode/fieldpos.h +291 -0
  196. data/vendor/local/include/unicode/filteredbrk.h +131 -0
  197. data/vendor/local/include/unicode/fmtable.h +760 -0
  198. data/vendor/local/include/unicode/format.h +305 -0
  199. data/vendor/local/include/unicode/fpositer.h +117 -0
  200. data/vendor/local/include/unicode/gender.h +111 -0
  201. data/vendor/local/include/unicode/gregocal.h +777 -0
  202. data/vendor/local/include/unicode/icudataver.h +41 -0
  203. data/vendor/local/include/unicode/icuplug.h +371 -0
  204. data/vendor/local/include/unicode/idna.h +323 -0
  205. data/vendor/local/include/unicode/listformatter.h +167 -0
  206. data/vendor/local/include/unicode/localpointer.h +304 -0
  207. data/vendor/local/include/unicode/locdspnm.h +204 -0
  208. data/vendor/local/include/unicode/locid.h +815 -0
  209. data/vendor/local/include/unicode/measfmt.h +389 -0
  210. data/vendor/local/include/unicode/measunit.h +1443 -0
  211. data/vendor/local/include/unicode/measure.h +159 -0
  212. data/vendor/local/include/unicode/messagepattern.h +943 -0
  213. data/vendor/local/include/unicode/msgfmt.h +1093 -0
  214. data/vendor/local/include/unicode/normalizer2.h +658 -0
  215. data/vendor/local/include/unicode/normlzr.h +797 -0
  216. data/vendor/local/include/unicode/numfmt.h +1187 -0
  217. data/vendor/local/include/unicode/numsys.h +208 -0
  218. data/vendor/local/include/unicode/parseerr.h +92 -0
  219. data/vendor/local/include/unicode/parsepos.h +230 -0
  220. data/vendor/local/include/unicode/platform.h +751 -0
  221. data/vendor/local/include/unicode/plurfmt.h +615 -0
  222. data/vendor/local/include/unicode/plurrule.h +501 -0
  223. data/vendor/local/include/unicode/ptypes.h +126 -0
  224. data/vendor/local/include/unicode/putil.h +181 -0
  225. data/vendor/local/include/unicode/rbbi.h +782 -0
  226. data/vendor/local/include/unicode/rbnf.h +1032 -0
  227. data/vendor/local/include/unicode/rbtz.h +362 -0
  228. data/vendor/local/include/unicode/regex.h +1857 -0
  229. data/vendor/local/include/unicode/region.h +228 -0
  230. data/vendor/local/include/unicode/reldatefmt.h +498 -0
  231. data/vendor/local/include/unicode/rep.h +261 -0
  232. data/vendor/local/include/unicode/resbund.h +490 -0
  233. data/vendor/local/include/unicode/schriter.h +187 -0
  234. data/vendor/local/include/unicode/scientificformathelper.h +139 -0
  235. data/vendor/local/include/unicode/search.h +575 -0
  236. data/vendor/local/include/unicode/selfmt.h +367 -0
  237. data/vendor/local/include/unicode/simpletz.h +928 -0
  238. data/vendor/local/include/unicode/smpdtfmt.h +1592 -0
  239. data/vendor/local/include/unicode/sortkey.h +338 -0
  240. data/vendor/local/include/unicode/std_string.h +37 -0
  241. data/vendor/local/include/unicode/strenum.h +276 -0
  242. data/vendor/local/include/unicode/stringpiece.h +224 -0
  243. data/vendor/local/include/unicode/stringtriebuilder.h +402 -0
  244. data/vendor/local/include/unicode/stsearch.h +504 -0
  245. data/vendor/local/include/unicode/symtable.h +112 -0
  246. data/vendor/local/include/unicode/tblcoll.h +873 -0
  247. data/vendor/local/include/unicode/timezone.h +948 -0
  248. data/vendor/local/include/unicode/tmunit.h +129 -0
  249. data/vendor/local/include/unicode/tmutamt.h +168 -0
  250. data/vendor/local/include/unicode/tmutfmt.h +243 -0
  251. data/vendor/local/include/unicode/translit.h +1342 -0
  252. data/vendor/local/include/unicode/tzfmt.h +1098 -0
  253. data/vendor/local/include/unicode/tznames.h +404 -0
  254. data/vendor/local/include/unicode/tzrule.h +828 -0
  255. data/vendor/local/include/unicode/tztrans.h +195 -0
  256. data/vendor/local/include/unicode/ubidi.h +2186 -0
  257. data/vendor/local/include/unicode/ubrk.h +540 -0
  258. data/vendor/local/include/unicode/ucal.h +1560 -0
  259. data/vendor/local/include/unicode/ucasemap.h +423 -0
  260. data/vendor/local/include/unicode/ucat.h +158 -0
  261. data/vendor/local/include/unicode/uchar.h +3426 -0
  262. data/vendor/local/include/unicode/ucharstrie.h +576 -0
  263. data/vendor/local/include/unicode/ucharstriebuilder.h +185 -0
  264. data/vendor/local/include/unicode/uchriter.h +381 -0
  265. data/vendor/local/include/unicode/uclean.h +258 -0
  266. data/vendor/local/include/unicode/ucnv.h +2036 -0
  267. data/vendor/local/include/unicode/ucnv_cb.h +162 -0
  268. data/vendor/local/include/unicode/ucnv_err.h +463 -0
  269. data/vendor/local/include/unicode/ucnvsel.h +187 -0
  270. data/vendor/local/include/unicode/ucol.h +1474 -0
  271. data/vendor/local/include/unicode/ucoleitr.h +266 -0
  272. data/vendor/local/include/unicode/uconfig.h +430 -0
  273. data/vendor/local/include/unicode/ucsdet.h +413 -0
  274. data/vendor/local/include/unicode/ucurr.h +424 -0
  275. data/vendor/local/include/unicode/udat.h +1536 -0
  276. data/vendor/local/include/unicode/udata.h +430 -0
  277. data/vendor/local/include/unicode/udateintervalformat.h +181 -0
  278. data/vendor/local/include/unicode/udatpg.h +588 -0
  279. data/vendor/local/include/unicode/udisplaycontext.h +150 -0
  280. data/vendor/local/include/unicode/uenum.h +206 -0
  281. data/vendor/local/include/unicode/uformattable.h +280 -0
  282. data/vendor/local/include/unicode/ugender.h +82 -0
  283. data/vendor/local/include/unicode/uidna.h +762 -0
  284. data/vendor/local/include/unicode/uiter.h +707 -0
  285. data/vendor/local/include/unicode/uldnames.h +302 -0
  286. data/vendor/local/include/unicode/uloc.h +1256 -0
  287. data/vendor/local/include/unicode/ulocdata.h +277 -0
  288. data/vendor/local/include/unicode/umachine.h +356 -0
  289. data/vendor/local/include/unicode/umisc.h +60 -0
  290. data/vendor/local/include/unicode/umsg.h +623 -0
  291. data/vendor/local/include/unicode/unifilt.h +120 -0
  292. data/vendor/local/include/unicode/unifunct.h +125 -0
  293. data/vendor/local/include/unicode/unimatch.h +163 -0
  294. data/vendor/local/include/unicode/unirepl.h +97 -0
  295. data/vendor/local/include/unicode/uniset.h +1691 -0
  296. data/vendor/local/include/unicode/unistr.h +4470 -0
  297. data/vendor/local/include/unicode/unorm.h +561 -0
  298. data/vendor/local/include/unicode/unorm2.h +528 -0
  299. data/vendor/local/include/unicode/unum.h +1328 -0
  300. data/vendor/local/include/unicode/unumsys.h +170 -0
  301. data/vendor/local/include/unicode/uobject.h +320 -0
  302. data/vendor/local/include/unicode/upluralrules.h +145 -0
  303. data/vendor/local/include/unicode/uregex.h +1591 -0
  304. data/vendor/local/include/unicode/uregion.h +248 -0
  305. data/vendor/local/include/unicode/urename.h +1784 -0
  306. data/vendor/local/include/unicode/urep.h +155 -0
  307. data/vendor/local/include/unicode/ures.h +887 -0
  308. data/vendor/local/include/unicode/uscript.h +642 -0
  309. data/vendor/local/include/unicode/usearch.h +885 -0
  310. data/vendor/local/include/unicode/uset.h +1126 -0
  311. data/vendor/local/include/unicode/usetiter.h +318 -0
  312. data/vendor/local/include/unicode/ushape.h +474 -0
  313. data/vendor/local/include/unicode/uspoof.h +1064 -0
  314. data/vendor/local/include/unicode/usprep.h +269 -0
  315. data/vendor/local/include/unicode/ustdio.h +1018 -0
  316. data/vendor/local/include/unicode/ustream.h +68 -0
  317. data/vendor/local/include/unicode/ustring.h +1700 -0
  318. data/vendor/local/include/unicode/ustringtrie.h +95 -0
  319. data/vendor/local/include/unicode/utext.h +1600 -0
  320. data/vendor/local/include/unicode/utf.h +223 -0
  321. data/vendor/local/include/unicode/utf16.h +623 -0
  322. data/vendor/local/include/unicode/utf32.h +23 -0
  323. data/vendor/local/include/unicode/utf8.h +824 -0
  324. data/vendor/local/include/unicode/utf_old.h +1169 -0
  325. data/vendor/local/include/unicode/utmscale.h +481 -0
  326. data/vendor/local/include/unicode/utrace.h +359 -0
  327. data/vendor/local/include/unicode/utrans.h +658 -0
  328. data/vendor/local/include/unicode/utypes.h +723 -0
  329. data/vendor/local/include/unicode/uvernum.h +170 -0
  330. data/vendor/local/include/unicode/uversion.h +193 -0
  331. data/vendor/local/include/unicode/vtzone.h +455 -0
  332. data/vendor/local/lib/girepository-1.0/Pango-1.0.typelib +0 -0
  333. data/vendor/local/lib/girepository-1.0/PangoCairo-1.0.typelib +0 -0
  334. data/vendor/local/lib/girepository-1.0/PangoFT2-1.0.typelib +0 -0
  335. data/vendor/local/lib/icu/54.1/Makefile.inc +293 -0
  336. data/vendor/local/lib/icu/54.1/pkgdata.inc +17 -0
  337. data/vendor/local/lib/icu/Makefile.inc +293 -0
  338. data/vendor/local/lib/icu/pkgdata.inc +17 -0
  339. data/vendor/local/lib/icudt.dll +0 -0
  340. data/vendor/local/lib/icudt54.dll +0 -0
  341. data/vendor/local/lib/icuin.dll +0 -0
  342. data/vendor/local/lib/icuin54.dll +0 -0
  343. data/vendor/local/lib/icuio.dll +0 -0
  344. data/vendor/local/lib/icuio54.dll +0 -0
  345. data/vendor/local/lib/icule.dll +0 -0
  346. data/vendor/local/lib/icule54.dll +0 -0
  347. data/vendor/local/lib/iculx.dll +0 -0
  348. data/vendor/local/lib/iculx54.dll +0 -0
  349. data/vendor/local/lib/icutest.dll +0 -0
  350. data/vendor/local/lib/icutest54.dll +0 -0
  351. data/vendor/local/lib/icutu.dll +0 -0
  352. data/vendor/local/lib/icutu54.dll +0 -0
  353. data/vendor/local/lib/icuuc.dll +0 -0
  354. data/vendor/local/lib/icuuc54.dll +0 -0
  355. data/vendor/local/lib/libharfbuzz-icu.a +0 -0
  356. data/vendor/local/lib/libharfbuzz-icu.la +41 -0
  357. data/vendor/local/lib/libharfbuzz.dll.a +0 -0
  358. data/vendor/local/lib/libharfbuzz.la +41 -0
  359. data/vendor/local/lib/libicudt.dll.a +0 -0
  360. data/vendor/local/lib/libicuin.dll.a +0 -0
  361. data/vendor/local/lib/libicuio.dll.a +0 -0
  362. data/vendor/local/lib/libicule.dll.a +0 -0
  363. data/vendor/local/lib/libiculx.dll.a +0 -0
  364. data/vendor/local/lib/libicutest.dll.a +0 -0
  365. data/vendor/local/lib/libicutu.dll.a +0 -0
  366. data/vendor/local/lib/libicuuc.dll.a +0 -0
  367. data/vendor/local/lib/libpango-1.0.dll.a +0 -0
  368. data/vendor/local/lib/libpango-1.0.la +41 -0
  369. data/vendor/local/lib/libpangocairo-1.0.dll.a +0 -0
  370. data/vendor/local/lib/libpangocairo-1.0.la +41 -0
  371. data/vendor/local/lib/libpangoft2-1.0.dll.a +0 -0
  372. data/vendor/local/lib/libpangoft2-1.0.la +41 -0
  373. data/vendor/local/lib/libpangowin32-1.0.dll.a +0 -0
  374. data/vendor/local/lib/libpangowin32-1.0.la +41 -0
  375. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll +0 -0
  376. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll.a +0 -0
  377. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.la +41 -0
  378. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll +0 -0
  379. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll.a +0 -0
  380. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.la +41 -0
  381. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll +0 -0
  382. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll.a +0 -0
  383. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.la +41 -0
  384. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll +0 -0
  385. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll.a +0 -0
  386. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.la +41 -0
  387. data/vendor/local/lib/pkgconfig/harfbuzz-icu.pc +13 -0
  388. data/vendor/local/lib/pkgconfig/harfbuzz.pc +11 -0
  389. data/vendor/local/lib/pkgconfig/icu-i18n.pc +38 -0
  390. data/vendor/local/lib/pkgconfig/icu-io.pc +38 -0
  391. data/vendor/local/lib/pkgconfig/icu-le.pc +38 -0
  392. data/vendor/local/lib/pkgconfig/icu-lx.pc +38 -0
  393. data/vendor/local/lib/pkgconfig/icu-uc.pc +38 -0
  394. data/vendor/local/lib/pkgconfig/pango.pc +14 -0
  395. data/vendor/local/lib/pkgconfig/pangocairo.pc +11 -0
  396. data/vendor/local/lib/pkgconfig/pangoft2.pc +12 -0
  397. data/vendor/local/lib/pkgconfig/pangowin32.pc +11 -0
  398. data/vendor/local/share/gir-1.0/Pango-1.0.gir +13329 -0
  399. data/vendor/local/share/gir-1.0/PangoCairo-1.0.gir +833 -0
  400. data/vendor/local/share/gir-1.0/PangoFT2-1.0.gir +354 -0
  401. data/vendor/local/share/gtk-doc/html/harfbuzz/annotation-glossary.html +75 -0
  402. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-full.html +1449 -0
  403. data/vendor/local/share/gtk-doc/html/harfbuzz/ch01.html +98 -0
  404. data/vendor/local/share/gtk-doc/html/harfbuzz/deprecated-api-index.html +46 -0
  405. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-blob.html +610 -0
  406. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-buffer.html +1780 -0
  407. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-common.html +1337 -0
  408. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-coretext.html +144 -0
  409. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-deprecated.html +99 -0
  410. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-face.html +630 -0
  411. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-font.html +2529 -0
  412. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ft.html +188 -0
  413. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-glib.html +120 -0
  414. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-gobject.html +50 -0
  415. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-graphite2.html +120 -0
  416. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-icu.html +120 -0
  417. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-layout.html +771 -0
  418. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-tag.html +172 -0
  419. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot.html +50 -0
  420. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-set.html +966 -0
  421. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape-plan.html +405 -0
  422. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape.html +286 -0
  423. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-unicode.html +1523 -0
  424. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-uniscribe.html +100 -0
  425. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-version.html +182 -0
  426. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb.html +50 -0
  427. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz.devhelp2 +378 -0
  428. data/vendor/local/share/gtk-doc/html/harfbuzz/home.png +0 -0
  429. data/vendor/local/share/gtk-doc/html/harfbuzz/index.html +105 -0
  430. data/vendor/local/share/gtk-doc/html/harfbuzz/index.sgml +496 -0
  431. data/vendor/local/share/gtk-doc/html/harfbuzz/left-insensitive.png +0 -0
  432. data/vendor/local/share/gtk-doc/html/harfbuzz/left.png +0 -0
  433. data/vendor/local/share/gtk-doc/html/harfbuzz/object-tree.html +59 -0
  434. data/vendor/local/share/gtk-doc/html/harfbuzz/right-insensitive.png +0 -0
  435. data/vendor/local/share/gtk-doc/html/harfbuzz/right.png +0 -0
  436. data/vendor/local/share/gtk-doc/html/harfbuzz/style.css +476 -0
  437. data/vendor/local/share/gtk-doc/html/harfbuzz/up-insensitive.png +0 -0
  438. data/vendor/local/share/gtk-doc/html/harfbuzz/up.png +0 -0
  439. data/vendor/local/share/gtk-doc/html/pango/PangoEngineLang.html +224 -0
  440. data/vendor/local/share/gtk-doc/html/pango/PangoEngineShape.html +255 -0
  441. data/vendor/local/share/gtk-doc/html/pango/PangoFcDecoder.html +246 -0
  442. data/vendor/local/share/gtk-doc/html/pango/PangoFcFont.html +500 -0
  443. data/vendor/local/share/gtk-doc/html/pango/PangoFcFontMap.html +1001 -0
  444. data/vendor/local/share/gtk-doc/html/pango/PangoMarkupFormat.html +301 -0
  445. data/vendor/local/share/gtk-doc/html/pango/PangoRenderer.html +1219 -0
  446. data/vendor/local/share/gtk-doc/html/pango/annotation-glossary.html +89 -0
  447. data/vendor/local/share/gtk-doc/html/pango/api-index-1-10.html +135 -0
  448. data/vendor/local/share/gtk-doc/html/pango/api-index-1-12.html +49 -0
  449. data/vendor/local/share/gtk-doc/html/pango/api-index-1-14.html +64 -0
  450. data/vendor/local/share/gtk-doc/html/pango/api-index-1-16.html +228 -0
  451. data/vendor/local/share/gtk-doc/html/pango/api-index-1-18.html +152 -0
  452. data/vendor/local/share/gtk-doc/html/pango/api-index-1-2.html +122 -0
  453. data/vendor/local/share/gtk-doc/html/pango/api-index-1-20.html +87 -0
  454. data/vendor/local/share/gtk-doc/html/pango/api-index-1-22.html +124 -0
  455. data/vendor/local/share/gtk-doc/html/pango/api-index-1-24.html +97 -0
  456. data/vendor/local/share/gtk-doc/html/pango/api-index-1-26.html +46 -0
  457. data/vendor/local/share/gtk-doc/html/pango/api-index-1-30.html +39 -0
  458. data/vendor/local/share/gtk-doc/html/pango/api-index-1-31-0.html +39 -0
  459. data/vendor/local/share/gtk-doc/html/pango/api-index-1-32-4.html +53 -0
  460. data/vendor/local/share/gtk-doc/html/pango/api-index-1-32.html +42 -0
  461. data/vendor/local/share/gtk-doc/html/pango/api-index-1-34.html +38 -0
  462. data/vendor/local/share/gtk-doc/html/pango/api-index-1-4.html +201 -0
  463. data/vendor/local/share/gtk-doc/html/pango/api-index-1-6.html +165 -0
  464. data/vendor/local/share/gtk-doc/html/pango/api-index-1-8.html +171 -0
  465. data/vendor/local/share/gtk-doc/html/pango/api-index-deprecated.html +284 -0
  466. data/vendor/local/share/gtk-doc/html/pango/api-index-full.html +2968 -0
  467. data/vendor/local/share/gtk-doc/html/pango/home.png +0 -0
  468. data/vendor/local/share/gtk-doc/html/pango/index.html +146 -0
  469. data/vendor/local/share/gtk-doc/html/pango/index.sgml +957 -0
  470. data/vendor/local/share/gtk-doc/html/pango/layout.gif +0 -0
  471. data/vendor/local/share/gtk-doc/html/pango/left-insensitive.png +0 -0
  472. data/vendor/local/share/gtk-doc/html/pango/left.png +0 -0
  473. data/vendor/local/share/gtk-doc/html/pango/lowlevel.html +68 -0
  474. data/vendor/local/share/gtk-doc/html/pango/pango-Bidirectional-Text.html +514 -0
  475. data/vendor/local/share/gtk-doc/html/pango/pango-Cairo-Rendering.html +1632 -0
  476. data/vendor/local/share/gtk-doc/html/pango/pango-CoreText-Fonts.html +115 -0
  477. data/vendor/local/share/gtk-doc/html/pango/pango-Coverage-Maps.html +508 -0
  478. data/vendor/local/share/gtk-doc/html/pango/pango-Engines.html +358 -0
  479. data/vendor/local/share/gtk-doc/html/pango/pango-Fonts.html +4154 -0
  480. data/vendor/local/share/gtk-doc/html/pango/pango-FreeType-Fonts-and-Rendering.html +956 -0
  481. data/vendor/local/share/gtk-doc/html/pango/pango-Glyph-Storage.html +2627 -0
  482. data/vendor/local/share/gtk-doc/html/pango/pango-Layout-Objects.html +4153 -0
  483. data/vendor/local/share/gtk-doc/html/pango/pango-Miscellaneous-Utilities.html +965 -0
  484. data/vendor/local/share/gtk-doc/html/pango/pango-Modules.html +331 -0
  485. data/vendor/local/share/gtk-doc/html/pango/pango-OpenType-Font-Handling.html +2202 -0
  486. data/vendor/local/share/gtk-doc/html/pango/pango-Scripts-and-Languages.html +1430 -0
  487. data/vendor/local/share/gtk-doc/html/pango/pango-Tab-Stops.html +582 -0
  488. data/vendor/local/share/gtk-doc/html/pango/pango-Text-Attributes.html +3356 -0
  489. data/vendor/local/share/gtk-doc/html/pango/pango-Text-Processing.html +2079 -0
  490. data/vendor/local/share/gtk-doc/html/pango/pango-Version-Checking.html +325 -0
  491. data/vendor/local/share/gtk-doc/html/pango/pango-Vertical-Text.html +523 -0
  492. data/vendor/local/share/gtk-doc/html/pango/pango-Win32-Fonts-and-Rendering.html +1028 -0
  493. data/vendor/local/share/gtk-doc/html/pango/pango-Xft-Fonts-and-Rendering.html +1275 -0
  494. data/vendor/local/share/gtk-doc/html/pango/pango-hierarchy.html +91 -0
  495. data/vendor/local/share/gtk-doc/html/pango/pango-querymodules.html +131 -0
  496. data/vendor/local/share/gtk-doc/html/pango/pango.devhelp2 +786 -0
  497. data/vendor/local/share/gtk-doc/html/pango/pango.html +63 -0
  498. data/vendor/local/share/gtk-doc/html/pango/rendering.html +47 -0
  499. data/vendor/local/share/gtk-doc/html/pango/right-insensitive.png +0 -0
  500. data/vendor/local/share/gtk-doc/html/pango/right.png +0 -0
  501. data/vendor/local/share/gtk-doc/html/pango/rotated-text.png +0 -0
  502. data/vendor/local/share/gtk-doc/html/pango/style.css +476 -0
  503. data/vendor/local/share/gtk-doc/html/pango/tools.html +33 -0
  504. data/vendor/local/share/gtk-doc/html/pango/up-insensitive.png +0 -0
  505. data/vendor/local/share/gtk-doc/html/pango/up.png +0 -0
  506. data/vendor/local/share/icu/54.1/config/mh-mingw64 +158 -0
  507. data/vendor/local/share/icu/54.1/install-sh +251 -0
  508. data/vendor/local/share/icu/54.1/license.html +385 -0
  509. data/vendor/local/share/icu/54.1/mkinstalldirs +43 -0
  510. data/vendor/local/share/license/harfbuzz/AUTHORS +9 -0
  511. data/vendor/local/share/license/harfbuzz/COPYING +36 -0
  512. data/vendor/local/share/license/pango/AUTHORS +2 -0
  513. data/vendor/local/share/license/pango/COPYING +482 -0
  514. data/vendor/local/share/man/man1/derb.1 +196 -0
  515. data/vendor/local/share/man/man1/genbrk.1 +112 -0
  516. data/vendor/local/share/man/man1/gencfu.1 +91 -0
  517. data/vendor/local/share/man/man1/gencnval.1 +91 -0
  518. data/vendor/local/share/man/man1/gendict.1 +131 -0
  519. data/vendor/local/share/man/man1/genrb.1 +146 -0
  520. data/vendor/local/share/man/man1/icu-config.1 +288 -0
  521. data/vendor/local/share/man/man1/makeconv.1 +112 -0
  522. data/vendor/local/share/man/man1/pango-querymodules.1 +106 -0
  523. data/vendor/local/share/man/man1/pango-view.1 +1 -0
  524. data/vendor/local/share/man/man1/pkgdata.1 +258 -0
  525. data/vendor/local/share/man/man1/uconv.1 +443 -0
  526. data/vendor/local/share/man/man8/genccode.8 +106 -0
  527. data/vendor/local/share/man/man8/gencmn.8 +129 -0
  528. data/vendor/local/share/man/man8/gensprep.8 +102 -0
  529. data/vendor/local/share/man/man8/icupkg.8 +204 -0
  530. metadata +599 -0
@@ -0,0 +1,2627 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
+ <title>Pango Reference Manual: Glyph Storage</title>
6
+ <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
7
+ <link rel="home" href="index.html" title="Pango Reference Manual">
8
+ <link rel="up" href="pango.html" title="Basic Pango Interfaces">
9
+ <link rel="prev" href="pango-Text-Processing.html" title="Rendering">
10
+ <link rel="next" href="pango-Fonts.html" title="Fonts">
11
+ <meta name="generator" content="GTK-Doc V1.21.1 (XML mode)">
12
+ <link rel="stylesheet" href="style.css" type="text/css">
13
+ </head>
14
+ <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15
+ <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
16
+ <td width="100%" align="left" class="shortcuts">
17
+ <a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
18
+ <a href="#pango-Glyph-Storage.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
19
+ <a href="#pango-Glyph-Storage.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
20
+ </td>
21
+ <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
22
+ <td><a accesskey="u" href="pango.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
23
+ <td><a accesskey="p" href="pango-Text-Processing.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
24
+ <td><a accesskey="n" href="pango-Fonts.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
25
+ </tr></table>
26
+ <div class="refentry">
27
+ <a name="pango-Glyph-Storage"></a><div class="titlepage"></div>
28
+ <div class="refnamediv"><table width="100%"><tr>
29
+ <td valign="top">
30
+ <h2><span class="refentrytitle"><a name="pango-Glyph-Storage.top_of_page"></a>Glyph Storage</span></h2>
31
+ <p>Glyph Storage — Structures for storing information about glyphs</p>
32
+ </td>
33
+ <td class="gallery_image" valign="top" align="right"></td>
34
+ </tr></table></div>
35
+ <div class="refsect1">
36
+ <a name="pango-Glyph-Storage.functions"></a><h2>Functions</h2>
37
+ <div class="informaltable"><table width="100%" border="0">
38
+ <colgroup>
39
+ <col width="150px" class="functions_return">
40
+ <col class="functions_name">
41
+ </colgroup>
42
+ <tbody>
43
+ <tr>
44
+ <td class="define_keyword">#define</td>
45
+ <td class="function_name">
46
+ <a class="link" href="pango-Glyph-Storage.html#PANGO-PIXELS:CAPS" title="PANGO_PIXELS()">PANGO_PIXELS</a><span class="c_punctuation">()</span>
47
+ </td>
48
+ </tr>
49
+ <tr>
50
+ <td class="define_keyword">#define</td>
51
+ <td class="function_name">
52
+ <a class="link" href="pango-Glyph-Storage.html#PANGO-PIXELS-FLOOR:CAPS" title="PANGO_PIXELS_FLOOR()">PANGO_PIXELS_FLOOR</a><span class="c_punctuation">()</span>
53
+ </td>
54
+ </tr>
55
+ <tr>
56
+ <td class="define_keyword">#define</td>
57
+ <td class="function_name">
58
+ <a class="link" href="pango-Glyph-Storage.html#PANGO-PIXELS-CEIL:CAPS" title="PANGO_PIXELS_CEIL()">PANGO_PIXELS_CEIL</a><span class="c_punctuation">()</span>
59
+ </td>
60
+ </tr>
61
+ <tr>
62
+ <td class="define_keyword">#define</td>
63
+ <td class="function_name">
64
+ <a class="link" href="pango-Glyph-Storage.html#PANGO-UNITS-ROUND:CAPS" title="PANGO_UNITS_ROUND()">PANGO_UNITS_ROUND</a><span class="c_punctuation">()</span>
65
+ </td>
66
+ </tr>
67
+ <tr>
68
+ <td class="function_type">
69
+ <span class="returnvalue">double</span>
70
+ </td>
71
+ <td class="function_name">
72
+ <a class="link" href="pango-Glyph-Storage.html#pango-units-to-double" title="pango_units_to_double ()">pango_units_to_double</a> <span class="c_punctuation">()</span>
73
+ </td>
74
+ </tr>
75
+ <tr>
76
+ <td class="function_type">
77
+ <span class="returnvalue">int</span>
78
+ </td>
79
+ <td class="function_name">
80
+ <a class="link" href="pango-Glyph-Storage.html#pango-units-from-double" title="pango_units_from_double ()">pango_units_from_double</a> <span class="c_punctuation">()</span>
81
+ </td>
82
+ </tr>
83
+ <tr>
84
+ <td class="define_keyword">#define</td>
85
+ <td class="function_name">
86
+ <a class="link" href="pango-Glyph-Storage.html#PANGO-ASCENT:CAPS" title="PANGO_ASCENT()">PANGO_ASCENT</a><span class="c_punctuation">()</span>
87
+ </td>
88
+ </tr>
89
+ <tr>
90
+ <td class="define_keyword">#define</td>
91
+ <td class="function_name">
92
+ <a class="link" href="pango-Glyph-Storage.html#PANGO-DESCENT:CAPS" title="PANGO_DESCENT()">PANGO_DESCENT</a><span class="c_punctuation">()</span>
93
+ </td>
94
+ </tr>
95
+ <tr>
96
+ <td class="define_keyword">#define</td>
97
+ <td class="function_name">
98
+ <a class="link" href="pango-Glyph-Storage.html#PANGO-LBEARING:CAPS" title="PANGO_LBEARING()">PANGO_LBEARING</a><span class="c_punctuation">()</span>
99
+ </td>
100
+ </tr>
101
+ <tr>
102
+ <td class="define_keyword">#define</td>
103
+ <td class="function_name">
104
+ <a class="link" href="pango-Glyph-Storage.html#PANGO-RBEARING:CAPS" title="PANGO_RBEARING()">PANGO_RBEARING</a><span class="c_punctuation">()</span>
105
+ </td>
106
+ </tr>
107
+ <tr>
108
+ <td class="function_type">
109
+ <span class="returnvalue">void</span>
110
+ </td>
111
+ <td class="function_name">
112
+ <a class="link" href="pango-Glyph-Storage.html#pango-extents-to-pixels" title="pango_extents_to_pixels ()">pango_extents_to_pixels</a> <span class="c_punctuation">()</span>
113
+ </td>
114
+ </tr>
115
+ <tr>
116
+ <td class="define_keyword">#define</td>
117
+ <td class="function_name"><a class="link" href="pango-Glyph-Storage.html#PANGO-TYPE-MATRIX:CAPS" title="PANGO_TYPE_MATRIX">PANGO_TYPE_MATRIX</a></td>
118
+ </tr>
119
+ <tr>
120
+ <td class="function_type">
121
+ <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="returnvalue">PangoMatrix</span></a> *
122
+ </td>
123
+ <td class="function_name">
124
+ <a class="link" href="pango-Glyph-Storage.html#pango-matrix-copy" title="pango_matrix_copy ()">pango_matrix_copy</a> <span class="c_punctuation">()</span>
125
+ </td>
126
+ </tr>
127
+ <tr>
128
+ <td class="function_type">
129
+ <span class="returnvalue">void</span>
130
+ </td>
131
+ <td class="function_name">
132
+ <a class="link" href="pango-Glyph-Storage.html#pango-matrix-free" title="pango_matrix_free ()">pango_matrix_free</a> <span class="c_punctuation">()</span>
133
+ </td>
134
+ </tr>
135
+ <tr>
136
+ <td class="function_type">
137
+ <span class="returnvalue">void</span>
138
+ </td>
139
+ <td class="function_name">
140
+ <a class="link" href="pango-Glyph-Storage.html#pango-matrix-translate" title="pango_matrix_translate ()">pango_matrix_translate</a> <span class="c_punctuation">()</span>
141
+ </td>
142
+ </tr>
143
+ <tr>
144
+ <td class="function_type">
145
+ <span class="returnvalue">void</span>
146
+ </td>
147
+ <td class="function_name">
148
+ <a class="link" href="pango-Glyph-Storage.html#pango-matrix-scale" title="pango_matrix_scale ()">pango_matrix_scale</a> <span class="c_punctuation">()</span>
149
+ </td>
150
+ </tr>
151
+ <tr>
152
+ <td class="function_type">
153
+ <span class="returnvalue">void</span>
154
+ </td>
155
+ <td class="function_name">
156
+ <a class="link" href="pango-Glyph-Storage.html#pango-matrix-rotate" title="pango_matrix_rotate ()">pango_matrix_rotate</a> <span class="c_punctuation">()</span>
157
+ </td>
158
+ </tr>
159
+ <tr>
160
+ <td class="function_type">
161
+ <span class="returnvalue">void</span>
162
+ </td>
163
+ <td class="function_name">
164
+ <a class="link" href="pango-Glyph-Storage.html#pango-matrix-concat" title="pango_matrix_concat ()">pango_matrix_concat</a> <span class="c_punctuation">()</span>
165
+ </td>
166
+ </tr>
167
+ <tr>
168
+ <td class="function_type">
169
+ <span class="returnvalue">void</span>
170
+ </td>
171
+ <td class="function_name">
172
+ <a class="link" href="pango-Glyph-Storage.html#pango-matrix-transform-point" title="pango_matrix_transform_point ()">pango_matrix_transform_point</a> <span class="c_punctuation">()</span>
173
+ </td>
174
+ </tr>
175
+ <tr>
176
+ <td class="function_type">
177
+ <span class="returnvalue">void</span>
178
+ </td>
179
+ <td class="function_name">
180
+ <a class="link" href="pango-Glyph-Storage.html#pango-matrix-transform-distance" title="pango_matrix_transform_distance ()">pango_matrix_transform_distance</a> <span class="c_punctuation">()</span>
181
+ </td>
182
+ </tr>
183
+ <tr>
184
+ <td class="function_type">
185
+ <span class="returnvalue">void</span>
186
+ </td>
187
+ <td class="function_name">
188
+ <a class="link" href="pango-Glyph-Storage.html#pango-matrix-transform-rectangle" title="pango_matrix_transform_rectangle ()">pango_matrix_transform_rectangle</a> <span class="c_punctuation">()</span>
189
+ </td>
190
+ </tr>
191
+ <tr>
192
+ <td class="function_type">
193
+ <span class="returnvalue">void</span>
194
+ </td>
195
+ <td class="function_name">
196
+ <a class="link" href="pango-Glyph-Storage.html#pango-matrix-transform-pixel-rectangle" title="pango_matrix_transform_pixel_rectangle ()">pango_matrix_transform_pixel_rectangle</a> <span class="c_punctuation">()</span>
197
+ </td>
198
+ </tr>
199
+ <tr>
200
+ <td class="function_type">
201
+ <span class="returnvalue">double</span>
202
+ </td>
203
+ <td class="function_name">
204
+ <a class="link" href="pango-Glyph-Storage.html#pango-matrix-get-font-scale-factor" title="pango_matrix_get_font_scale_factor ()">pango_matrix_get_font_scale_factor</a> <span class="c_punctuation">()</span>
205
+ </td>
206
+ </tr>
207
+ <tr>
208
+ <td class="define_keyword">#define</td>
209
+ <td class="function_name"><a class="link" href="pango-Glyph-Storage.html#PANGO-GLYPH-EMPTY:CAPS" title="PANGO_GLYPH_EMPTY">PANGO_GLYPH_EMPTY</a></td>
210
+ </tr>
211
+ <tr>
212
+ <td class="define_keyword">#define</td>
213
+ <td class="function_name"><a class="link" href="pango-Glyph-Storage.html#PANGO-GLYPH-INVALID-INPUT:CAPS" title="PANGO_GLYPH_INVALID_INPUT">PANGO_GLYPH_INVALID_INPUT</a></td>
214
+ </tr>
215
+ <tr>
216
+ <td class="define_keyword">#define</td>
217
+ <td class="function_name"><a class="link" href="pango-Glyph-Storage.html#PANGO-GLYPH-UNKNOWN-FLAG:CAPS" title="PANGO_GLYPH_UNKNOWN_FLAG">PANGO_GLYPH_UNKNOWN_FLAG</a></td>
218
+ </tr>
219
+ <tr>
220
+ <td class="define_keyword">#define</td>
221
+ <td class="function_name">
222
+ <a class="link" href="pango-Glyph-Storage.html#PANGO-GET-UNKNOWN-GLYPH:CAPS" title="PANGO_GET_UNKNOWN_GLYPH()">PANGO_GET_UNKNOWN_GLYPH</a><span class="c_punctuation">()</span>
223
+ </td>
224
+ </tr>
225
+ <tr>
226
+ <td class="define_keyword">#define</td>
227
+ <td class="function_name"><a class="link" href="pango-Glyph-Storage.html#PANGO-TYPE-GLYPH-STRING:CAPS" title="PANGO_TYPE_GLYPH_STRING">PANGO_TYPE_GLYPH_STRING</a></td>
228
+ </tr>
229
+ <tr>
230
+ <td class="function_type">
231
+ <a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="returnvalue">PangoGlyphString</span></a> *
232
+ </td>
233
+ <td class="function_name">
234
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-string-new" title="pango_glyph_string_new ()">pango_glyph_string_new</a> <span class="c_punctuation">()</span>
235
+ </td>
236
+ </tr>
237
+ <tr>
238
+ <td class="function_type">
239
+ <a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="returnvalue">PangoGlyphString</span></a> *
240
+ </td>
241
+ <td class="function_name">
242
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-string-copy" title="pango_glyph_string_copy ()">pango_glyph_string_copy</a> <span class="c_punctuation">()</span>
243
+ </td>
244
+ </tr>
245
+ <tr>
246
+ <td class="function_type">
247
+ <span class="returnvalue">void</span>
248
+ </td>
249
+ <td class="function_name">
250
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-string-set-size" title="pango_glyph_string_set_size ()">pango_glyph_string_set_size</a> <span class="c_punctuation">()</span>
251
+ </td>
252
+ </tr>
253
+ <tr>
254
+ <td class="function_type">
255
+ <span class="returnvalue">void</span>
256
+ </td>
257
+ <td class="function_name">
258
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-string-free" title="pango_glyph_string_free ()">pango_glyph_string_free</a> <span class="c_punctuation">()</span>
259
+ </td>
260
+ </tr>
261
+ <tr>
262
+ <td class="function_type">
263
+ <span class="returnvalue">void</span>
264
+ </td>
265
+ <td class="function_name">
266
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-string-extents" title="pango_glyph_string_extents ()">pango_glyph_string_extents</a> <span class="c_punctuation">()</span>
267
+ </td>
268
+ </tr>
269
+ <tr>
270
+ <td class="function_type">
271
+ <span class="returnvalue">void</span>
272
+ </td>
273
+ <td class="function_name">
274
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-string-extents-range" title="pango_glyph_string_extents_range ()">pango_glyph_string_extents_range</a> <span class="c_punctuation">()</span>
275
+ </td>
276
+ </tr>
277
+ <tr>
278
+ <td class="function_type">
279
+ <span class="returnvalue">int</span>
280
+ </td>
281
+ <td class="function_name">
282
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-string-get-width" title="pango_glyph_string_get_width ()">pango_glyph_string_get_width</a> <span class="c_punctuation">()</span>
283
+ </td>
284
+ </tr>
285
+ <tr>
286
+ <td class="function_type">
287
+ <span class="returnvalue">void</span>
288
+ </td>
289
+ <td class="function_name">
290
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-string-index-to-x" title="pango_glyph_string_index_to_x ()">pango_glyph_string_index_to_x</a> <span class="c_punctuation">()</span>
291
+ </td>
292
+ </tr>
293
+ <tr>
294
+ <td class="function_type">
295
+ <span class="returnvalue">void</span>
296
+ </td>
297
+ <td class="function_name">
298
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-string-x-to-index" title="pango_glyph_string_x_to_index ()">pango_glyph_string_x_to_index</a> <span class="c_punctuation">()</span>
299
+ </td>
300
+ </tr>
301
+ <tr>
302
+ <td class="function_type">
303
+ <span class="returnvalue">void</span>
304
+ </td>
305
+ <td class="function_name">
306
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-string-get-logical-widths" title="pango_glyph_string_get_logical_widths ()">pango_glyph_string_get_logical_widths</a> <span class="c_punctuation">()</span>
307
+ </td>
308
+ </tr>
309
+ <tr>
310
+ <td class="define_keyword">#define</td>
311
+ <td class="function_name"><a class="link" href="pango-Glyph-Storage.html#PANGO-TYPE-GLYPH-ITEM:CAPS" title="PANGO_TYPE_GLYPH_ITEM">PANGO_TYPE_GLYPH_ITEM</a></td>
312
+ </tr>
313
+ <tr>
314
+ <td class="function_type">
315
+ <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="returnvalue">PangoGlyphItem</span></a> *
316
+ </td>
317
+ <td class="function_name">
318
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-item-copy" title="pango_glyph_item_copy ()">pango_glyph_item_copy</a> <span class="c_punctuation">()</span>
319
+ </td>
320
+ </tr>
321
+ <tr>
322
+ <td class="function_type">
323
+ <span class="returnvalue">void</span>
324
+ </td>
325
+ <td class="function_name">
326
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-item-free" title="pango_glyph_item_free ()">pango_glyph_item_free</a> <span class="c_punctuation">()</span>
327
+ </td>
328
+ </tr>
329
+ <tr>
330
+ <td class="function_type">
331
+ <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="returnvalue">PangoGlyphItem</span></a> *
332
+ </td>
333
+ <td class="function_name">
334
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-item-split" title="pango_glyph_item_split ()">pango_glyph_item_split</a> <span class="c_punctuation">()</span>
335
+ </td>
336
+ </tr>
337
+ <tr>
338
+ <td class="function_type">
339
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *
340
+ </td>
341
+ <td class="function_name">
342
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-item-apply-attrs" title="pango_glyph_item_apply_attrs ()">pango_glyph_item_apply_attrs</a> <span class="c_punctuation">()</span>
343
+ </td>
344
+ </tr>
345
+ <tr>
346
+ <td class="function_type">
347
+ <span class="returnvalue">void</span>
348
+ </td>
349
+ <td class="function_name">
350
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-item-letter-space" title="pango_glyph_item_letter_space ()">pango_glyph_item_letter_space</a> <span class="c_punctuation">()</span>
351
+ </td>
352
+ </tr>
353
+ <tr>
354
+ <td class="function_type">
355
+ <span class="returnvalue">void</span>
356
+ </td>
357
+ <td class="function_name">
358
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-item-get-logical-widths" title="pango_glyph_item_get_logical_widths ()">pango_glyph_item_get_logical_widths</a> <span class="c_punctuation">()</span>
359
+ </td>
360
+ </tr>
361
+ <tr>
362
+ <td class="define_keyword">#define</td>
363
+ <td class="function_name"><a class="link" href="pango-Glyph-Storage.html#PANGO-TYPE-GLYPH-ITEM-ITER:CAPS" title="PANGO_TYPE_GLYPH_ITEM_ITER">PANGO_TYPE_GLYPH_ITEM_ITER</a></td>
364
+ </tr>
365
+ <tr>
366
+ <td class="function_type">
367
+ <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="returnvalue">PangoGlyphItemIter</span></a> *
368
+ </td>
369
+ <td class="function_name">
370
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-item-iter-copy" title="pango_glyph_item_iter_copy ()">pango_glyph_item_iter_copy</a> <span class="c_punctuation">()</span>
371
+ </td>
372
+ </tr>
373
+ <tr>
374
+ <td class="function_type">
375
+ <span class="returnvalue">void</span>
376
+ </td>
377
+ <td class="function_name">
378
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-item-iter-free" title="pango_glyph_item_iter_free ()">pango_glyph_item_iter_free</a> <span class="c_punctuation">()</span>
379
+ </td>
380
+ </tr>
381
+ <tr>
382
+ <td class="function_type">
383
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
384
+ </td>
385
+ <td class="function_name">
386
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-item-iter-init-start" title="pango_glyph_item_iter_init_start ()">pango_glyph_item_iter_init_start</a> <span class="c_punctuation">()</span>
387
+ </td>
388
+ </tr>
389
+ <tr>
390
+ <td class="function_type">
391
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
392
+ </td>
393
+ <td class="function_name">
394
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-item-iter-init-end" title="pango_glyph_item_iter_init_end ()">pango_glyph_item_iter_init_end</a> <span class="c_punctuation">()</span>
395
+ </td>
396
+ </tr>
397
+ <tr>
398
+ <td class="function_type">
399
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
400
+ </td>
401
+ <td class="function_name">
402
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-item-iter-next-cluster" title="pango_glyph_item_iter_next_cluster ()">pango_glyph_item_iter_next_cluster</a> <span class="c_punctuation">()</span>
403
+ </td>
404
+ </tr>
405
+ <tr>
406
+ <td class="function_type">
407
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
408
+ </td>
409
+ <td class="function_name">
410
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-item-iter-prev-cluster" title="pango_glyph_item_iter_prev_cluster ()">pango_glyph_item_iter_prev_cluster</a> <span class="c_punctuation">()</span>
411
+ </td>
412
+ </tr>
413
+ </tbody>
414
+ </table></div>
415
+ </div>
416
+ <a name="PangoMatrix"></a><a name="PangoGlyphString"></a><a name="PangoGlyphItem"></a><a name="PangoGlyphItemIter"></a><div class="refsect1">
417
+ <a name="pango-Glyph-Storage.other"></a><h2>Types and Values</h2>
418
+ <div class="informaltable"><table width="100%" border="0">
419
+ <colgroup>
420
+ <col width="150px" class="name">
421
+ <col class="description">
422
+ </colgroup>
423
+ <tbody>
424
+ <tr>
425
+ <td class="define_keyword">#define</td>
426
+ <td class="function_name"><a class="link" href="pango-Glyph-Storage.html#PANGO-SCALE:CAPS" title="PANGO_SCALE">PANGO_SCALE</a></td>
427
+ </tr>
428
+ <tr>
429
+ <td class="datatype_keyword">struct</td>
430
+ <td class="function_name"><a class="link" href="pango-Glyph-Storage.html#PangoRectangle" title="struct PangoRectangle">PangoRectangle</a></td>
431
+ </tr>
432
+ <tr>
433
+ <td class="datatype_keyword">struct</td>
434
+ <td class="function_name"><a class="link" href="pango-Glyph-Storage.html#PangoMatrix-struct" title="struct PangoMatrix">PangoMatrix</a></td>
435
+ </tr>
436
+ <tr>
437
+ <td class="define_keyword">#define</td>
438
+ <td class="function_name"><a class="link" href="pango-Glyph-Storage.html#PANGO-MATRIX-INIT:CAPS" title="PANGO_MATRIX_INIT">PANGO_MATRIX_INIT</a></td>
439
+ </tr>
440
+ <tr>
441
+ <td class="typedef_keyword">typedef</td>
442
+ <td class="function_name"><a class="link" href="pango-Glyph-Storage.html#PangoGlyph" title="PangoGlyph">PangoGlyph</a></td>
443
+ </tr>
444
+ <tr>
445
+ <td class="datatype_keyword">struct</td>
446
+ <td class="function_name"><a class="link" href="pango-Glyph-Storage.html#PangoGlyphInfo" title="struct PangoGlyphInfo">PangoGlyphInfo</a></td>
447
+ </tr>
448
+ <tr>
449
+ <td class="datatype_keyword">struct</td>
450
+ <td class="function_name"><a class="link" href="pango-Glyph-Storage.html#PangoGlyphGeometry" title="struct PangoGlyphGeometry">PangoGlyphGeometry</a></td>
451
+ </tr>
452
+ <tr>
453
+ <td class="typedef_keyword">typedef</td>
454
+ <td class="function_name"><a class="link" href="pango-Glyph-Storage.html#PangoGlyphUnit" title="PangoGlyphUnit">PangoGlyphUnit</a></td>
455
+ </tr>
456
+ <tr>
457
+ <td class="datatype_keyword">struct</td>
458
+ <td class="function_name"><a class="link" href="pango-Glyph-Storage.html#PangoGlyphVisAttr" title="struct PangoGlyphVisAttr">PangoGlyphVisAttr</a></td>
459
+ </tr>
460
+ <tr>
461
+ <td class="datatype_keyword">struct</td>
462
+ <td class="function_name"><a class="link" href="pango-Glyph-Storage.html#PangoGlyphString-struct" title="struct PangoGlyphString">PangoGlyphString</a></td>
463
+ </tr>
464
+ <tr>
465
+ <td class="datatype_keyword">struct</td>
466
+ <td class="function_name"><a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem-struct" title="struct PangoGlyphItem">PangoGlyphItem</a></td>
467
+ </tr>
468
+ <tr>
469
+ <td class="datatype_keyword">struct</td>
470
+ <td class="function_name"><a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter-struct" title="struct PangoGlyphItemIter">PangoGlyphItemIter</a></td>
471
+ </tr>
472
+ </tbody>
473
+ </table></div>
474
+ </div>
475
+ <div class="refsect1">
476
+ <a name="pango-Glyph-Storage.object-hierarchy"></a><h2>Object Hierarchy</h2>
477
+ <pre class="screen"> GBoxed
478
+ <span class="lineart">├──</span> PangoGlyphItem
479
+ <span class="lineart">├──</span> PangoGlyphItemIter
480
+ <span class="lineart">├──</span> PangoGlyphString
481
+ <span class="lineart">╰──</span> PangoMatrix
482
+ </pre>
483
+ </div>
484
+ <div class="refsect1">
485
+ <a name="pango-Glyph-Storage.description"></a><h2>Description</h2>
486
+ <p>pango_shape() produces a string of glyphs which
487
+ can be measured or drawn to the screen. The following
488
+ structures are used to store information about
489
+ glyphs.</p>
490
+ </div>
491
+ <div class="refsect1">
492
+ <a name="pango-Glyph-Storage.functions_details"></a><h2>Functions</h2>
493
+ <div class="refsect2">
494
+ <a name="PANGO-PIXELS:CAPS"></a><h3>PANGO_PIXELS()</h3>
495
+ <pre class="programlisting">#define PANGO_PIXELS(d) (((int)(d) + 512) &gt;&gt; 10)
496
+ </pre>
497
+ <p>Converts a dimension to device units by rounding.</p>
498
+ <div class="refsect3">
499
+ <a name="id-1.2.3.11.2.5"></a><h4>Parameters</h4>
500
+ <div class="informaltable"><table width="100%" border="0">
501
+ <colgroup>
502
+ <col width="150px" class="parameters_name">
503
+ <col class="parameters_description">
504
+ <col width="200px" class="parameters_annotations">
505
+ </colgroup>
506
+ <tbody><tr>
507
+ <td class="parameter_name"><p>d</p></td>
508
+ <td class="parameter_description"><p>a dimension in Pango units.</p></td>
509
+ <td class="parameter_annotations"> </td>
510
+ </tr></tbody>
511
+ </table></div>
512
+ </div>
513
+ <div class="refsect3">
514
+ <a name="id-1.2.3.11.2.6"></a><h4>Returns</h4>
515
+ <p> rounded dimension in device units.</p>
516
+ <p></p>
517
+ </div>
518
+ </div>
519
+ <hr>
520
+ <div class="refsect2">
521
+ <a name="PANGO-PIXELS-FLOOR:CAPS"></a><h3>PANGO_PIXELS_FLOOR()</h3>
522
+ <pre class="programlisting">#define PANGO_PIXELS_FLOOR(d) (((int)(d)) &gt;&gt; 10)
523
+ </pre>
524
+ <p>Converts a dimension to device units by flooring.</p>
525
+ <div class="refsect3">
526
+ <a name="id-1.2.3.11.3.5"></a><h4>Parameters</h4>
527
+ <div class="informaltable"><table width="100%" border="0">
528
+ <colgroup>
529
+ <col width="150px" class="parameters_name">
530
+ <col class="parameters_description">
531
+ <col width="200px" class="parameters_annotations">
532
+ </colgroup>
533
+ <tbody><tr>
534
+ <td class="parameter_name"><p>d</p></td>
535
+ <td class="parameter_description"><p>a dimension in Pango units.</p></td>
536
+ <td class="parameter_annotations"> </td>
537
+ </tr></tbody>
538
+ </table></div>
539
+ </div>
540
+ <div class="refsect3">
541
+ <a name="id-1.2.3.11.3.6"></a><h4>Returns</h4>
542
+ <p> floored dimension in device units.</p>
543
+ <p></p>
544
+ </div>
545
+ <p class="since">Since 1.14</p>
546
+ </div>
547
+ <hr>
548
+ <div class="refsect2">
549
+ <a name="PANGO-PIXELS-CEIL:CAPS"></a><h3>PANGO_PIXELS_CEIL()</h3>
550
+ <pre class="programlisting">#define PANGO_PIXELS_CEIL(d) (((int)(d) + 1023) &gt;&gt; 10)
551
+ </pre>
552
+ <p>Converts a dimension to device units by ceiling.</p>
553
+ <div class="refsect3">
554
+ <a name="id-1.2.3.11.4.5"></a><h4>Parameters</h4>
555
+ <div class="informaltable"><table width="100%" border="0">
556
+ <colgroup>
557
+ <col width="150px" class="parameters_name">
558
+ <col class="parameters_description">
559
+ <col width="200px" class="parameters_annotations">
560
+ </colgroup>
561
+ <tbody><tr>
562
+ <td class="parameter_name"><p>d</p></td>
563
+ <td class="parameter_description"><p>a dimension in Pango units.</p></td>
564
+ <td class="parameter_annotations"> </td>
565
+ </tr></tbody>
566
+ </table></div>
567
+ </div>
568
+ <div class="refsect3">
569
+ <a name="id-1.2.3.11.4.6"></a><h4>Returns</h4>
570
+ <p> ceiled dimension in device units.</p>
571
+ <p></p>
572
+ </div>
573
+ <p class="since">Since 1.14</p>
574
+ </div>
575
+ <hr>
576
+ <div class="refsect2">
577
+ <a name="PANGO-UNITS-ROUND:CAPS"></a><h3>PANGO_UNITS_ROUND()</h3>
578
+ <pre class="programlisting">#define PANGO_UNITS_ROUND(d)</pre>
579
+ <p>Rounds a dimension to whole device units, but does not
580
+ convert it to device units.</p>
581
+ <div class="refsect3">
582
+ <a name="id-1.2.3.11.5.5"></a><h4>Parameters</h4>
583
+ <div class="informaltable"><table width="100%" border="0">
584
+ <colgroup>
585
+ <col width="150px" class="parameters_name">
586
+ <col class="parameters_description">
587
+ <col width="200px" class="parameters_annotations">
588
+ </colgroup>
589
+ <tbody><tr>
590
+ <td class="parameter_name"><p>d</p></td>
591
+ <td class="parameter_description"><p>a dimension in Pango units.</p></td>
592
+ <td class="parameter_annotations"> </td>
593
+ </tr></tbody>
594
+ </table></div>
595
+ </div>
596
+ <div class="refsect3">
597
+ <a name="id-1.2.3.11.5.6"></a><h4>Returns</h4>
598
+ <p> rounded dimension in Pango units.</p>
599
+ <p></p>
600
+ </div>
601
+ <p class="since">Since 1.18</p>
602
+ </div>
603
+ <hr>
604
+ <div class="refsect2">
605
+ <a name="pango-units-to-double"></a><h3>pango_units_to_double ()</h3>
606
+ <pre class="programlisting"><span class="returnvalue">double</span>
607
+ pango_units_to_double (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
608
+ <p>Converts a number in Pango units to floating-point: divides
609
+ it by <a class="link" href="pango-Glyph-Storage.html#PANGO-SCALE:CAPS" title="PANGO_SCALE"><code class="literal">PANGO_SCALE</code></a>.</p>
610
+ <div class="refsect3">
611
+ <a name="id-1.2.3.11.6.5"></a><h4>Parameters</h4>
612
+ <div class="informaltable"><table width="100%" border="0">
613
+ <colgroup>
614
+ <col width="150px" class="parameters_name">
615
+ <col class="parameters_description">
616
+ <col width="200px" class="parameters_annotations">
617
+ </colgroup>
618
+ <tbody><tr>
619
+ <td class="parameter_name"><p>i</p></td>
620
+ <td class="parameter_description"><p>value in Pango units</p></td>
621
+ <td class="parameter_annotations"> </td>
622
+ </tr></tbody>
623
+ </table></div>
624
+ </div>
625
+ <div class="refsect3">
626
+ <a name="id-1.2.3.11.6.6"></a><h4>Returns</h4>
627
+ <p> the double value.</p>
628
+ <p></p>
629
+ </div>
630
+ <p class="since">Since 1.16</p>
631
+ </div>
632
+ <hr>
633
+ <div class="refsect2">
634
+ <a name="pango-units-from-double"></a><h3>pango_units_from_double ()</h3>
635
+ <pre class="programlisting"><span class="returnvalue">int</span>
636
+ pango_units_from_double (<em class="parameter"><code><span class="type">double</span> d</code></em>);</pre>
637
+ <p>Converts a floating-point number to Pango units: multiplies
638
+ it by <a class="link" href="pango-Glyph-Storage.html#PANGO-SCALE:CAPS" title="PANGO_SCALE"><code class="literal">PANGO_SCALE</code></a> and rounds to nearest integer.</p>
639
+ <div class="refsect3">
640
+ <a name="id-1.2.3.11.7.5"></a><h4>Parameters</h4>
641
+ <div class="informaltable"><table width="100%" border="0">
642
+ <colgroup>
643
+ <col width="150px" class="parameters_name">
644
+ <col class="parameters_description">
645
+ <col width="200px" class="parameters_annotations">
646
+ </colgroup>
647
+ <tbody><tr>
648
+ <td class="parameter_name"><p>d</p></td>
649
+ <td class="parameter_description"><p>double floating-point value</p></td>
650
+ <td class="parameter_annotations"> </td>
651
+ </tr></tbody>
652
+ </table></div>
653
+ </div>
654
+ <div class="refsect3">
655
+ <a name="id-1.2.3.11.7.6"></a><h4>Returns</h4>
656
+ <p> the value in Pango units.</p>
657
+ <p></p>
658
+ </div>
659
+ <p class="since">Since 1.16</p>
660
+ </div>
661
+ <hr>
662
+ <div class="refsect2">
663
+ <a name="PANGO-ASCENT:CAPS"></a><h3>PANGO_ASCENT()</h3>
664
+ <pre class="programlisting">#define PANGO_ASCENT(rect) (-(rect).y)
665
+ </pre>
666
+ <p>Extracts the <em class="firstterm">ascent</em> from a <a class="link" href="pango-Glyph-Storage.html#PangoRectangle" title="struct PangoRectangle"><span class="type">PangoRectangle</span></a>
667
+ representing glyph extents. The ascent is the distance from the
668
+ baseline to the highest point of the character. This is positive if the
669
+ glyph ascends above the baseline.</p>
670
+ <div class="refsect3">
671
+ <a name="id-1.2.3.11.8.5"></a><h4>Parameters</h4>
672
+ <div class="informaltable"><table width="100%" border="0">
673
+ <colgroup>
674
+ <col width="150px" class="parameters_name">
675
+ <col class="parameters_description">
676
+ <col width="200px" class="parameters_annotations">
677
+ </colgroup>
678
+ <tbody><tr>
679
+ <td class="parameter_name"><p>rect</p></td>
680
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoRectangle" title="struct PangoRectangle"><span class="type">PangoRectangle</span></a></p></td>
681
+ <td class="parameter_annotations"> </td>
682
+ </tr></tbody>
683
+ </table></div>
684
+ </div>
685
+ </div>
686
+ <hr>
687
+ <div class="refsect2">
688
+ <a name="PANGO-DESCENT:CAPS"></a><h3>PANGO_DESCENT()</h3>
689
+ <pre class="programlisting">#define PANGO_DESCENT(rect) ((rect).y + (rect).height)
690
+ </pre>
691
+ <p>Extracts the <em class="firstterm">descent</em> from a <a class="link" href="pango-Glyph-Storage.html#PangoRectangle" title="struct PangoRectangle"><span class="type">PangoRectangle</span></a>
692
+ representing glyph extents. The descent is the distance from the
693
+ baseline to the lowest point of the character. This is positive if the
694
+ glyph descends below the baseline.</p>
695
+ <div class="refsect3">
696
+ <a name="id-1.2.3.11.9.5"></a><h4>Parameters</h4>
697
+ <div class="informaltable"><table width="100%" border="0">
698
+ <colgroup>
699
+ <col width="150px" class="parameters_name">
700
+ <col class="parameters_description">
701
+ <col width="200px" class="parameters_annotations">
702
+ </colgroup>
703
+ <tbody><tr>
704
+ <td class="parameter_name"><p>rect</p></td>
705
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoRectangle" title="struct PangoRectangle"><span class="type">PangoRectangle</span></a></p></td>
706
+ <td class="parameter_annotations"> </td>
707
+ </tr></tbody>
708
+ </table></div>
709
+ </div>
710
+ </div>
711
+ <hr>
712
+ <div class="refsect2">
713
+ <a name="PANGO-LBEARING:CAPS"></a><h3>PANGO_LBEARING()</h3>
714
+ <pre class="programlisting">#define PANGO_LBEARING(rect) ((rect).x)
715
+ </pre>
716
+ <p>Extracts the <em class="firstterm">left bearing</em> from a <a class="link" href="pango-Glyph-Storage.html#PangoRectangle" title="struct PangoRectangle"><span class="type">PangoRectangle</span></a>
717
+ representing glyph extents. The left bearing is the distance from the
718
+ horizontal origin to the farthest left point of the character.
719
+ This is positive for characters drawn completely to the right of the
720
+ glyph origin.</p>
721
+ <div class="refsect3">
722
+ <a name="id-1.2.3.11.10.5"></a><h4>Parameters</h4>
723
+ <div class="informaltable"><table width="100%" border="0">
724
+ <colgroup>
725
+ <col width="150px" class="parameters_name">
726
+ <col class="parameters_description">
727
+ <col width="200px" class="parameters_annotations">
728
+ </colgroup>
729
+ <tbody><tr>
730
+ <td class="parameter_name"><p>rect</p></td>
731
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoRectangle" title="struct PangoRectangle"><span class="type">PangoRectangle</span></a></p></td>
732
+ <td class="parameter_annotations"> </td>
733
+ </tr></tbody>
734
+ </table></div>
735
+ </div>
736
+ </div>
737
+ <hr>
738
+ <div class="refsect2">
739
+ <a name="PANGO-RBEARING:CAPS"></a><h3>PANGO_RBEARING()</h3>
740
+ <pre class="programlisting">#define PANGO_RBEARING(rect) ((rect).x + (rect).width)
741
+ </pre>
742
+ <p>Extracts the <em class="firstterm">right bearing</em> from a <a class="link" href="pango-Glyph-Storage.html#PangoRectangle" title="struct PangoRectangle"><span class="type">PangoRectangle</span></a>
743
+ representing glyph extents. The right bearing is the distance from the
744
+ horizontal origin to the farthest right point of the character.
745
+ This is positive except for characters drawn completely to the left of the
746
+ horizontal origin.</p>
747
+ <div class="refsect3">
748
+ <a name="id-1.2.3.11.11.5"></a><h4>Parameters</h4>
749
+ <div class="informaltable"><table width="100%" border="0">
750
+ <colgroup>
751
+ <col width="150px" class="parameters_name">
752
+ <col class="parameters_description">
753
+ <col width="200px" class="parameters_annotations">
754
+ </colgroup>
755
+ <tbody><tr>
756
+ <td class="parameter_name"><p>rect</p></td>
757
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoRectangle" title="struct PangoRectangle"><span class="type">PangoRectangle</span></a></p></td>
758
+ <td class="parameter_annotations"> </td>
759
+ </tr></tbody>
760
+ </table></div>
761
+ </div>
762
+ </div>
763
+ <hr>
764
+ <div class="refsect2">
765
+ <a name="pango-extents-to-pixels"></a><h3>pango_extents_to_pixels ()</h3>
766
+ <pre class="programlisting"><span class="returnvalue">void</span>
767
+ pango_extents_to_pixels (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoRectangle" title="struct PangoRectangle"><span class="type">PangoRectangle</span></a> *inclusive</code></em>,
768
+ <em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoRectangle" title="struct PangoRectangle"><span class="type">PangoRectangle</span></a> *nearest</code></em>);</pre>
769
+ <p>Converts extents from Pango units to device units, dividing by the
770
+ <a class="link" href="pango-Glyph-Storage.html#PANGO-SCALE:CAPS" title="PANGO_SCALE"><code class="literal">PANGO_SCALE</code></a> factor and performing rounding.</p>
771
+ <p>The <em class="parameter"><code>inclusive</code></em>
772
+ rectangle is converted by flooring the x/y coordinates and extending
773
+ width/height, such that the final rectangle completely includes the original
774
+ rectangle.</p>
775
+ <p>The <em class="parameter"><code>nearest</code></em>
776
+ rectangle is converted by rounding the coordinates
777
+ of the rectangle to the nearest device unit (pixel).</p>
778
+ <p>The rule to which argument to use is: if you want the resulting device-space
779
+ rectangle to completely contain the original rectangle, pass it in as <em class="parameter"><code>inclusive</code></em>
780
+ .
781
+ If you want two touching-but-not-overlapping rectangles stay
782
+ touching-but-not-overlapping after rounding to device units, pass them in
783
+ as <em class="parameter"><code>nearest</code></em>
784
+ .</p>
785
+ <div class="refsect3">
786
+ <a name="id-1.2.3.11.12.8"></a><h4>Parameters</h4>
787
+ <div class="informaltable"><table width="100%" border="0">
788
+ <colgroup>
789
+ <col width="150px" class="parameters_name">
790
+ <col class="parameters_description">
791
+ <col width="200px" class="parameters_annotations">
792
+ </colgroup>
793
+ <tbody>
794
+ <tr>
795
+ <td class="parameter_name"><p>inclusive</p></td>
796
+ <td class="parameter_description"><p> rectangle to round to pixels inclusively, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
797
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
798
+ </tr>
799
+ <tr>
800
+ <td class="parameter_name"><p>nearest</p></td>
801
+ <td class="parameter_description"><p> rectangle to round to nearest pixels, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
802
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
803
+ </tr>
804
+ </tbody>
805
+ </table></div>
806
+ </div>
807
+ <p class="since">Since 1.16</p>
808
+ </div>
809
+ <hr>
810
+ <div class="refsect2">
811
+ <a name="PANGO-TYPE-MATRIX:CAPS"></a><h3>PANGO_TYPE_MATRIX</h3>
812
+ <pre class="programlisting">#define PANGO_TYPE_MATRIX (pango_matrix_get_type ())
813
+ </pre>
814
+ <p>The GObject type for <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a></p>
815
+ </div>
816
+ <hr>
817
+ <div class="refsect2">
818
+ <a name="pango-matrix-copy"></a><h3>pango_matrix_copy ()</h3>
819
+ <pre class="programlisting"><a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="returnvalue">PangoMatrix</span></a> *
820
+ pango_matrix_copy (<em class="parameter"><code>const <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a> *matrix</code></em>);</pre>
821
+ <p>Copies a <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a>.</p>
822
+ <div class="refsect3">
823
+ <a name="id-1.2.3.11.14.5"></a><h4>Parameters</h4>
824
+ <div class="informaltable"><table width="100%" border="0">
825
+ <colgroup>
826
+ <col width="150px" class="parameters_name">
827
+ <col class="parameters_description">
828
+ <col width="200px" class="parameters_annotations">
829
+ </colgroup>
830
+ <tbody><tr>
831
+ <td class="parameter_name"><p>matrix</p></td>
832
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a>, may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
833
+ <td class="parameter_annotations"> </td>
834
+ </tr></tbody>
835
+ </table></div>
836
+ </div>
837
+ <div class="refsect3">
838
+ <a name="id-1.2.3.11.14.6"></a><h4>Returns</h4>
839
+ <p> the newly allocated <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a>, which should
840
+ be freed with <a class="link" href="pango-Glyph-Storage.html#pango-matrix-free" title="pango_matrix_free ()"><code class="function">pango_matrix_free()</code></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
841
+ <em class="parameter"><code>matrix</code></em>
842
+ was <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
843
+ <p></p>
844
+ </div>
845
+ <p class="since">Since 1.6</p>
846
+ </div>
847
+ <hr>
848
+ <div class="refsect2">
849
+ <a name="pango-matrix-free"></a><h3>pango_matrix_free ()</h3>
850
+ <pre class="programlisting"><span class="returnvalue">void</span>
851
+ pango_matrix_free (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a> *matrix</code></em>);</pre>
852
+ <p>Free a <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a> created with <a class="link" href="pango-Glyph-Storage.html#pango-matrix-copy" title="pango_matrix_copy ()"><code class="function">pango_matrix_copy()</code></a>.</p>
853
+ <div class="refsect3">
854
+ <a name="id-1.2.3.11.15.5"></a><h4>Parameters</h4>
855
+ <div class="informaltable"><table width="100%" border="0">
856
+ <colgroup>
857
+ <col width="150px" class="parameters_name">
858
+ <col class="parameters_description">
859
+ <col width="200px" class="parameters_annotations">
860
+ </colgroup>
861
+ <tbody><tr>
862
+ <td class="parameter_name"><p>matrix</p></td>
863
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a>, may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
864
+ <td class="parameter_annotations"> </td>
865
+ </tr></tbody>
866
+ </table></div>
867
+ </div>
868
+ <p class="since">Since 1.6</p>
869
+ </div>
870
+ <hr>
871
+ <div class="refsect2">
872
+ <a name="pango-matrix-translate"></a><h3>pango_matrix_translate ()</h3>
873
+ <pre class="programlisting"><span class="returnvalue">void</span>
874
+ pango_matrix_translate (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a> *matrix</code></em>,
875
+ <em class="parameter"><code><span class="type">double</span> tx</code></em>,
876
+ <em class="parameter"><code><span class="type">double</span> ty</code></em>);</pre>
877
+ <p>Changes the transformation represented by <em class="parameter"><code>matrix</code></em>
878
+ to be the
879
+ transformation given by first translating by (<em class="parameter"><code>tx</code></em>
880
+ , <em class="parameter"><code>ty</code></em>
881
+ )
882
+ then applying the original transformation.</p>
883
+ <div class="refsect3">
884
+ <a name="id-1.2.3.11.16.5"></a><h4>Parameters</h4>
885
+ <div class="informaltable"><table width="100%" border="0">
886
+ <colgroup>
887
+ <col width="150px" class="parameters_name">
888
+ <col class="parameters_description">
889
+ <col width="200px" class="parameters_annotations">
890
+ </colgroup>
891
+ <tbody>
892
+ <tr>
893
+ <td class="parameter_name"><p>matrix</p></td>
894
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a></p></td>
895
+ <td class="parameter_annotations"> </td>
896
+ </tr>
897
+ <tr>
898
+ <td class="parameter_name"><p>tx</p></td>
899
+ <td class="parameter_description"><p>amount to translate in the X direction</p></td>
900
+ <td class="parameter_annotations"> </td>
901
+ </tr>
902
+ <tr>
903
+ <td class="parameter_name"><p>ty</p></td>
904
+ <td class="parameter_description"><p>amount to translate in the Y direction</p></td>
905
+ <td class="parameter_annotations"> </td>
906
+ </tr>
907
+ </tbody>
908
+ </table></div>
909
+ </div>
910
+ <p class="since">Since 1.6</p>
911
+ </div>
912
+ <hr>
913
+ <div class="refsect2">
914
+ <a name="pango-matrix-scale"></a><h3>pango_matrix_scale ()</h3>
915
+ <pre class="programlisting"><span class="returnvalue">void</span>
916
+ pango_matrix_scale (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a> *matrix</code></em>,
917
+ <em class="parameter"><code><span class="type">double</span> scale_x</code></em>,
918
+ <em class="parameter"><code><span class="type">double</span> scale_y</code></em>);</pre>
919
+ <p>Changes the transformation represented by <em class="parameter"><code>matrix</code></em>
920
+ to be the
921
+ transformation given by first scaling by <em class="parameter"><code>sx</code></em>
922
+ in the X direction
923
+ and <em class="parameter"><code>sy</code></em>
924
+ in the Y direction then applying the original
925
+ transformation.</p>
926
+ <div class="refsect3">
927
+ <a name="id-1.2.3.11.17.5"></a><h4>Parameters</h4>
928
+ <div class="informaltable"><table width="100%" border="0">
929
+ <colgroup>
930
+ <col width="150px" class="parameters_name">
931
+ <col class="parameters_description">
932
+ <col width="200px" class="parameters_annotations">
933
+ </colgroup>
934
+ <tbody>
935
+ <tr>
936
+ <td class="parameter_name"><p>matrix</p></td>
937
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a></p></td>
938
+ <td class="parameter_annotations"> </td>
939
+ </tr>
940
+ <tr>
941
+ <td class="parameter_name"><p>scale_x</p></td>
942
+ <td class="parameter_description"><p>amount to scale by in X direction</p></td>
943
+ <td class="parameter_annotations"> </td>
944
+ </tr>
945
+ <tr>
946
+ <td class="parameter_name"><p>scale_y</p></td>
947
+ <td class="parameter_description"><p>amount to scale by in Y direction</p></td>
948
+ <td class="parameter_annotations"> </td>
949
+ </tr>
950
+ </tbody>
951
+ </table></div>
952
+ </div>
953
+ <p class="since">Since 1.6</p>
954
+ </div>
955
+ <hr>
956
+ <div class="refsect2">
957
+ <a name="pango-matrix-rotate"></a><h3>pango_matrix_rotate ()</h3>
958
+ <pre class="programlisting"><span class="returnvalue">void</span>
959
+ pango_matrix_rotate (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a> *matrix</code></em>,
960
+ <em class="parameter"><code><span class="type">double</span> degrees</code></em>);</pre>
961
+ <p>Changes the transformation represented by <em class="parameter"><code>matrix</code></em>
962
+ to be the
963
+ transformation given by first rotating by <em class="parameter"><code>degrees</code></em>
964
+ degrees
965
+ counter-clockwise then applying the original transformation.</p>
966
+ <div class="refsect3">
967
+ <a name="id-1.2.3.11.18.5"></a><h4>Parameters</h4>
968
+ <div class="informaltable"><table width="100%" border="0">
969
+ <colgroup>
970
+ <col width="150px" class="parameters_name">
971
+ <col class="parameters_description">
972
+ <col width="200px" class="parameters_annotations">
973
+ </colgroup>
974
+ <tbody>
975
+ <tr>
976
+ <td class="parameter_name"><p>matrix</p></td>
977
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a></p></td>
978
+ <td class="parameter_annotations"> </td>
979
+ </tr>
980
+ <tr>
981
+ <td class="parameter_name"><p>degrees</p></td>
982
+ <td class="parameter_description"><p>degrees to rotate counter-clockwise</p></td>
983
+ <td class="parameter_annotations"> </td>
984
+ </tr>
985
+ </tbody>
986
+ </table></div>
987
+ </div>
988
+ <p class="since">Since 1.6</p>
989
+ </div>
990
+ <hr>
991
+ <div class="refsect2">
992
+ <a name="pango-matrix-concat"></a><h3>pango_matrix_concat ()</h3>
993
+ <pre class="programlisting"><span class="returnvalue">void</span>
994
+ pango_matrix_concat (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a> *matrix</code></em>,
995
+ <em class="parameter"><code>const <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a> *new_matrix</code></em>);</pre>
996
+ <p>Changes the transformation represented by <em class="parameter"><code>matrix</code></em>
997
+ to be the
998
+ transformation given by first applying transformation
999
+ given by <em class="parameter"><code>new_matrix</code></em>
1000
+ then applying the original transformation.</p>
1001
+ <div class="refsect3">
1002
+ <a name="id-1.2.3.11.19.5"></a><h4>Parameters</h4>
1003
+ <div class="informaltable"><table width="100%" border="0">
1004
+ <colgroup>
1005
+ <col width="150px" class="parameters_name">
1006
+ <col class="parameters_description">
1007
+ <col width="200px" class="parameters_annotations">
1008
+ </colgroup>
1009
+ <tbody>
1010
+ <tr>
1011
+ <td class="parameter_name"><p>matrix</p></td>
1012
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a></p></td>
1013
+ <td class="parameter_annotations"> </td>
1014
+ </tr>
1015
+ <tr>
1016
+ <td class="parameter_name"><p>new_matrix</p></td>
1017
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a></p></td>
1018
+ <td class="parameter_annotations"> </td>
1019
+ </tr>
1020
+ </tbody>
1021
+ </table></div>
1022
+ </div>
1023
+ <p class="since">Since 1.6</p>
1024
+ </div>
1025
+ <hr>
1026
+ <div class="refsect2">
1027
+ <a name="pango-matrix-transform-point"></a><h3>pango_matrix_transform_point ()</h3>
1028
+ <pre class="programlisting"><span class="returnvalue">void</span>
1029
+ pango_matrix_transform_point (<em class="parameter"><code>const <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a> *matrix</code></em>,
1030
+ <em class="parameter"><code><span class="type">double</span> *x</code></em>,
1031
+ <em class="parameter"><code><span class="type">double</span> *y</code></em>);</pre>
1032
+ <p>Transforms the point (<em class="parameter"><code>x</code></em>
1033
+ , <em class="parameter"><code>y</code></em>
1034
+ ) by <em class="parameter"><code>matrix</code></em>
1035
+ .</p>
1036
+ <div class="refsect3">
1037
+ <a name="id-1.2.3.11.20.5"></a><h4>Parameters</h4>
1038
+ <div class="informaltable"><table width="100%" border="0">
1039
+ <colgroup>
1040
+ <col width="150px" class="parameters_name">
1041
+ <col class="parameters_description">
1042
+ <col width="200px" class="parameters_annotations">
1043
+ </colgroup>
1044
+ <tbody>
1045
+ <tr>
1046
+ <td class="parameter_name"><p>matrix</p></td>
1047
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
1048
+ <td class="parameter_annotations"> </td>
1049
+ </tr>
1050
+ <tr>
1051
+ <td class="parameter_name"><p>x</p></td>
1052
+ <td class="parameter_description"><p> in/out X position. </p></td>
1053
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>]</span></td>
1054
+ </tr>
1055
+ <tr>
1056
+ <td class="parameter_name"><p>y</p></td>
1057
+ <td class="parameter_description"><p> in/out Y position. </p></td>
1058
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>]</span></td>
1059
+ </tr>
1060
+ </tbody>
1061
+ </table></div>
1062
+ </div>
1063
+ <p class="since">Since 1.16</p>
1064
+ </div>
1065
+ <hr>
1066
+ <div class="refsect2">
1067
+ <a name="pango-matrix-transform-distance"></a><h3>pango_matrix_transform_distance ()</h3>
1068
+ <pre class="programlisting"><span class="returnvalue">void</span>
1069
+ pango_matrix_transform_distance (<em class="parameter"><code>const <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a> *matrix</code></em>,
1070
+ <em class="parameter"><code><span class="type">double</span> *dx</code></em>,
1071
+ <em class="parameter"><code><span class="type">double</span> *dy</code></em>);</pre>
1072
+ <p>Transforms the distance vector (<em class="parameter"><code>dx</code></em>
1073
+ ,<em class="parameter"><code>dy</code></em>
1074
+ ) by <em class="parameter"><code>matrix</code></em>
1075
+ . This is
1076
+ similar to <a class="link" href="pango-Glyph-Storage.html#pango-matrix-transform-point" title="pango_matrix_transform_point ()"><code class="function">pango_matrix_transform_point()</code></a> except that the translation
1077
+ components of the transformation are ignored. The calculation of
1078
+ the returned vector is as follows:</p>
1079
+ <pre class="programlisting">
1080
+ dx2 = dx1 * xx + dy1 * xy;
1081
+ dy2 = dx1 * yx + dy1 * yy;
1082
+ </pre>
1083
+ <p>Affine transformations are position invariant, so the same vector
1084
+ always transforms to the same vector. If (<em class="parameter"><code>x1</code></em>
1085
+ ,<em class="parameter"><code>y1</code></em>
1086
+ ) transforms
1087
+ to (<em class="parameter"><code>x2</code></em>
1088
+ ,<em class="parameter"><code>y2</code></em>
1089
+ ) then (<em class="parameter"><code>x1</code></em>
1090
+ +<em class="parameter"><code>dx1</code></em>
1091
+ ,<em class="parameter"><code>y1</code></em>
1092
+ +<em class="parameter"><code>dy1</code></em>
1093
+ ) will transform to
1094
+ (<em class="parameter"><code>x1</code></em>
1095
+ +<em class="parameter"><code>dx2</code></em>
1096
+ ,<em class="parameter"><code>y1</code></em>
1097
+ +<em class="parameter"><code>dy2</code></em>
1098
+ ) for all values of <em class="parameter"><code>x1</code></em>
1099
+ and <em class="parameter"><code>x2</code></em>
1100
+ .</p>
1101
+ <div class="refsect3">
1102
+ <a name="id-1.2.3.11.21.7"></a><h4>Parameters</h4>
1103
+ <div class="informaltable"><table width="100%" border="0">
1104
+ <colgroup>
1105
+ <col width="150px" class="parameters_name">
1106
+ <col class="parameters_description">
1107
+ <col width="200px" class="parameters_annotations">
1108
+ </colgroup>
1109
+ <tbody>
1110
+ <tr>
1111
+ <td class="parameter_name"><p>matrix</p></td>
1112
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
1113
+ <td class="parameter_annotations"> </td>
1114
+ </tr>
1115
+ <tr>
1116
+ <td class="parameter_name"><p>dx</p></td>
1117
+ <td class="parameter_description"><p> in/out X component of a distance vector. </p></td>
1118
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>]</span></td>
1119
+ </tr>
1120
+ <tr>
1121
+ <td class="parameter_name"><p>dy</p></td>
1122
+ <td class="parameter_description"><p> in/out Y component of a distance vector. </p></td>
1123
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>]</span></td>
1124
+ </tr>
1125
+ </tbody>
1126
+ </table></div>
1127
+ </div>
1128
+ <p class="since">Since 1.16</p>
1129
+ </div>
1130
+ <hr>
1131
+ <div class="refsect2">
1132
+ <a name="pango-matrix-transform-rectangle"></a><h3>pango_matrix_transform_rectangle ()</h3>
1133
+ <pre class="programlisting"><span class="returnvalue">void</span>
1134
+ pango_matrix_transform_rectangle (<em class="parameter"><code>const <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a> *matrix</code></em>,
1135
+ <em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoRectangle" title="struct PangoRectangle"><span class="type">PangoRectangle</span></a> *rect</code></em>);</pre>
1136
+ <p>First transforms <em class="parameter"><code>rect</code></em>
1137
+ using <em class="parameter"><code>matrix</code></em>
1138
+ , then calculates the bounding box
1139
+ of the transformed rectangle. The rectangle should be in Pango units.</p>
1140
+ <p>This function is useful for example when you want to draw a rotated
1141
+ <em class="parameter"><code>PangoLayout</code></em>
1142
+ to an image buffer, and want to know how large the image
1143
+ should be and how much you should shift the layout when rendering.</p>
1144
+ <p>If you have a rectangle in device units (pixels), use
1145
+ <a class="link" href="pango-Glyph-Storage.html#pango-matrix-transform-pixel-rectangle" title="pango_matrix_transform_pixel_rectangle ()"><code class="function">pango_matrix_transform_pixel_rectangle()</code></a>.</p>
1146
+ <p>If you have the rectangle in Pango units and want to convert to
1147
+ transformed pixel bounding box, it is more accurate to transform it first
1148
+ (using this function) and pass the result to <a class="link" href="pango-Glyph-Storage.html#pango-extents-to-pixels" title="pango_extents_to_pixels ()"><code class="function">pango_extents_to_pixels()</code></a>,
1149
+ first argument, for an inclusive rounded rectangle.
1150
+ However, there are valid reasons that you may want to convert
1151
+ to pixels first and then transform, for example when the transformed
1152
+ coordinates may overflow in Pango units (large matrix translation for
1153
+ example).</p>
1154
+ <div class="refsect3">
1155
+ <a name="id-1.2.3.11.22.8"></a><h4>Parameters</h4>
1156
+ <div class="informaltable"><table width="100%" border="0">
1157
+ <colgroup>
1158
+ <col width="150px" class="parameters_name">
1159
+ <col class="parameters_description">
1160
+ <col width="200px" class="parameters_annotations">
1161
+ </colgroup>
1162
+ <tbody>
1163
+ <tr>
1164
+ <td class="parameter_name"><p>matrix</p></td>
1165
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
1166
+ <td class="parameter_annotations"> </td>
1167
+ </tr>
1168
+ <tr>
1169
+ <td class="parameter_name"><p>rect</p></td>
1170
+ <td class="parameter_description"><p> in/out bounding box in Pango units, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
1171
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
1172
+ </tr>
1173
+ </tbody>
1174
+ </table></div>
1175
+ </div>
1176
+ <p class="since">Since 1.16</p>
1177
+ </div>
1178
+ <hr>
1179
+ <div class="refsect2">
1180
+ <a name="pango-matrix-transform-pixel-rectangle"></a><h3>pango_matrix_transform_pixel_rectangle ()</h3>
1181
+ <pre class="programlisting"><span class="returnvalue">void</span>
1182
+ pango_matrix_transform_pixel_rectangle
1183
+ (<em class="parameter"><code>const <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a> *matrix</code></em>,
1184
+ <em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoRectangle" title="struct PangoRectangle"><span class="type">PangoRectangle</span></a> *rect</code></em>);</pre>
1185
+ <p>First transforms the <em class="parameter"><code>rect</code></em>
1186
+ using <em class="parameter"><code>matrix</code></em>
1187
+ , then calculates the bounding box
1188
+ of the transformed rectangle. The rectangle should be in device units
1189
+ (pixels).</p>
1190
+ <p>This function is useful for example when you want to draw a rotated
1191
+ <em class="parameter"><code>PangoLayout</code></em>
1192
+ to an image buffer, and want to know how large the image
1193
+ should be and how much you should shift the layout when rendering.</p>
1194
+ <p>For better accuracy, you should use <a class="link" href="pango-Glyph-Storage.html#pango-matrix-transform-rectangle" title="pango_matrix_transform_rectangle ()"><code class="function">pango_matrix_transform_rectangle()</code></a> on
1195
+ original rectangle in Pango units and convert to pixels afterward
1196
+ using <a class="link" href="pango-Glyph-Storage.html#pango-extents-to-pixels" title="pango_extents_to_pixels ()"><code class="function">pango_extents_to_pixels()</code></a>'s first argument.</p>
1197
+ <div class="refsect3">
1198
+ <a name="id-1.2.3.11.23.7"></a><h4>Parameters</h4>
1199
+ <div class="informaltable"><table width="100%" border="0">
1200
+ <colgroup>
1201
+ <col width="150px" class="parameters_name">
1202
+ <col class="parameters_description">
1203
+ <col width="200px" class="parameters_annotations">
1204
+ </colgroup>
1205
+ <tbody>
1206
+ <tr>
1207
+ <td class="parameter_name"><p>matrix</p></td>
1208
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
1209
+ <td class="parameter_annotations"> </td>
1210
+ </tr>
1211
+ <tr>
1212
+ <td class="parameter_name"><p>rect</p></td>
1213
+ <td class="parameter_description"><p> in/out bounding box in device units, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
1214
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
1215
+ </tr>
1216
+ </tbody>
1217
+ </table></div>
1218
+ </div>
1219
+ <p class="since">Since 1.16</p>
1220
+ </div>
1221
+ <hr>
1222
+ <div class="refsect2">
1223
+ <a name="pango-matrix-get-font-scale-factor"></a><h3>pango_matrix_get_font_scale_factor ()</h3>
1224
+ <pre class="programlisting"><span class="returnvalue">double</span>
1225
+ pango_matrix_get_font_scale_factor (<em class="parameter"><code>const <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a> *matrix</code></em>);</pre>
1226
+ <p>Returns the scale factor of a matrix on the height of the font.
1227
+ That is, the scale factor in the direction perpendicular to the
1228
+ vector that the X coordinate is mapped to.</p>
1229
+ <div class="refsect3">
1230
+ <a name="id-1.2.3.11.24.5"></a><h4>Parameters</h4>
1231
+ <div class="informaltable"><table width="100%" border="0">
1232
+ <colgroup>
1233
+ <col width="150px" class="parameters_name">
1234
+ <col class="parameters_description">
1235
+ <col width="200px" class="parameters_annotations">
1236
+ </colgroup>
1237
+ <tbody><tr>
1238
+ <td class="parameter_name"><p>matrix</p></td>
1239
+ <td class="parameter_description"><p> a <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a>, may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
1240
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
1241
+ </tr></tbody>
1242
+ </table></div>
1243
+ </div>
1244
+ <div class="refsect3">
1245
+ <a name="id-1.2.3.11.24.6"></a><h4>Returns</h4>
1246
+ <p> the scale factor of <em class="parameter"><code>matrix</code></em>
1247
+ on the height of the font,
1248
+ or 1.0 if <em class="parameter"><code>matrix</code></em>
1249
+ is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
1250
+ <p></p>
1251
+ </div>
1252
+ <p class="since">Since 1.12</p>
1253
+ </div>
1254
+ <hr>
1255
+ <div class="refsect2">
1256
+ <a name="PANGO-GLYPH-EMPTY:CAPS"></a><h3>PANGO_GLYPH_EMPTY</h3>
1257
+ <pre class="programlisting">#define PANGO_GLYPH_EMPTY ((PangoGlyph)0x0FFFFFFF)
1258
+ </pre>
1259
+ <p>The <a class="link" href="pango-Glyph-Storage.html#PANGO-GLYPH-EMPTY:CAPS" title="PANGO_GLYPH_EMPTY"><code class="literal">PANGO_GLYPH_EMPTY</code></a> macro represents a <a class="link" href="pango-Glyph-Storage.html#PangoGlyph" title="PangoGlyph"><span class="type">PangoGlyph</span></a> value that has a
1260
+ special meaning, which is a zero-width empty glyph. This is useful for
1261
+ example in shaper modules, to use as the glyph for various zero-width
1262
+ Unicode characters (those passing <a class="link" href="pango-Miscellaneous-Utilities.html#pango-is-zero-width" title="pango_is_zero_width ()"><code class="function">pango_is_zero_width()</code></a>).</p>
1263
+ </div>
1264
+ <hr>
1265
+ <div class="refsect2">
1266
+ <a name="PANGO-GLYPH-INVALID-INPUT:CAPS"></a><h3>PANGO_GLYPH_INVALID_INPUT</h3>
1267
+ <pre class="programlisting">#define PANGO_GLYPH_INVALID_INPUT ((PangoGlyph)0xFFFFFFFF)
1268
+ </pre>
1269
+ <p>The <a class="link" href="pango-Glyph-Storage.html#PANGO-GLYPH-INVALID-INPUT:CAPS" title="PANGO_GLYPH_INVALID_INPUT"><code class="literal">PANGO_GLYPH_INVALID_INPUT</code></a> macro represents a <a class="link" href="pango-Glyph-Storage.html#PangoGlyph" title="PangoGlyph"><span class="type">PangoGlyph</span></a> value that has a
1270
+ special meaning of invalid input. <a class="link" href="pango-Layout-Objects.html#PangoLayout"><span class="type">PangoLayout</span></a> produces one such glyph
1271
+ per invalid input UTF-8 byte and such a glyph is rendered as a crossed
1272
+ box.</p>
1273
+ <p>Note that this value is defined such that it has the <a class="link" href="pango-Glyph-Storage.html#PANGO-GLYPH-UNKNOWN-FLAG:CAPS" title="PANGO_GLYPH_UNKNOWN_FLAG"><code class="literal">PANGO_GLYPH_UNKNOWN_FLAG</code></a>
1274
+ on.</p>
1275
+ <p class="since">Since 1.20</p>
1276
+ </div>
1277
+ <hr>
1278
+ <div class="refsect2">
1279
+ <a name="PANGO-GLYPH-UNKNOWN-FLAG:CAPS"></a><h3>PANGO_GLYPH_UNKNOWN_FLAG</h3>
1280
+ <pre class="programlisting">#define PANGO_GLYPH_UNKNOWN_FLAG ((PangoGlyph)0x10000000)
1281
+ </pre>
1282
+ <p>The <a class="link" href="pango-Glyph-Storage.html#PANGO-GLYPH-UNKNOWN-FLAG:CAPS" title="PANGO_GLYPH_UNKNOWN_FLAG"><code class="literal">PANGO_GLYPH_UNKNOWN_FLAG</code></a> macro is a flag value that can be added to
1283
+ a <a href="http://library.gnome.org/devel/glib/unstable/glib-Unicode-Manipulation.html#gunichar"><span class="type">gunichar</span></a> value of a valid Unicode character, to produce a <a class="link" href="pango-Glyph-Storage.html#PangoGlyph" title="PangoGlyph"><span class="type">PangoGlyph</span></a>
1284
+ value, representing an unknown-character glyph for the respective <a href="http://library.gnome.org/devel/glib/unstable/glib-Unicode-Manipulation.html#gunichar"><span class="type">gunichar</span></a>.</p>
1285
+ </div>
1286
+ <hr>
1287
+ <div class="refsect2">
1288
+ <a name="PANGO-GET-UNKNOWN-GLYPH:CAPS"></a><h3>PANGO_GET_UNKNOWN_GLYPH()</h3>
1289
+ <pre class="programlisting">#define PANGO_GET_UNKNOWN_GLYPH(wc) ((PangoGlyph)(wc)|PANGO_GLYPH_UNKNOWN_FLAG)
1290
+ </pre>
1291
+ <p>The way this unknown glyphs are rendered is backend specific. For example,
1292
+ a box with the hexadecimal Unicode code-point of the character written in it
1293
+ is what is done in the most common backends.</p>
1294
+ <div class="refsect3">
1295
+ <a name="id-1.2.3.11.28.5"></a><h4>Parameters</h4>
1296
+ <div class="informaltable"><table width="100%" border="0">
1297
+ <colgroup>
1298
+ <col width="150px" class="parameters_name">
1299
+ <col class="parameters_description">
1300
+ <col width="200px" class="parameters_annotations">
1301
+ </colgroup>
1302
+ <tbody><tr>
1303
+ <td class="parameter_name"><p>wc</p></td>
1304
+ <td class="parameter_description"><p>a Unicode character</p></td>
1305
+ <td class="parameter_annotations"> </td>
1306
+ </tr></tbody>
1307
+ </table></div>
1308
+ </div>
1309
+ <div class="refsect3">
1310
+ <a name="id-1.2.3.11.28.6"></a><h4>Returns</h4>
1311
+ <p> a <a class="link" href="pango-Glyph-Storage.html#PangoGlyph" title="PangoGlyph"><span class="type">PangoGlyph</span></a> value that means no glyph was found for <em class="parameter"><code>wc</code></em>
1312
+ .</p>
1313
+ <p></p>
1314
+ </div>
1315
+ </div>
1316
+ <hr>
1317
+ <div class="refsect2">
1318
+ <a name="PANGO-TYPE-GLYPH-STRING:CAPS"></a><h3>PANGO_TYPE_GLYPH_STRING</h3>
1319
+ <pre class="programlisting">#define PANGO_TYPE_GLYPH_STRING (pango_glyph_string_get_type ())
1320
+ </pre>
1321
+ <p>The <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> type for <a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a>.</p>
1322
+ </div>
1323
+ <hr>
1324
+ <div class="refsect2">
1325
+ <a name="pango-glyph-string-new"></a><h3>pango_glyph_string_new ()</h3>
1326
+ <pre class="programlisting"><a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="returnvalue">PangoGlyphString</span></a> *
1327
+ pango_glyph_string_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1328
+ <p>Create a new <a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a>.</p>
1329
+ <div class="refsect3">
1330
+ <a name="id-1.2.3.11.30.5"></a><h4>Returns</h4>
1331
+ <p> the newly allocated <a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a>, which
1332
+ should be freed with <a class="link" href="pango-Glyph-Storage.html#pango-glyph-string-free" title="pango_glyph_string_free ()"><code class="function">pango_glyph_string_free()</code></a>.</p>
1333
+ <p></p>
1334
+ </div>
1335
+ </div>
1336
+ <hr>
1337
+ <div class="refsect2">
1338
+ <a name="pango-glyph-string-copy"></a><h3>pango_glyph_string_copy ()</h3>
1339
+ <pre class="programlisting"><a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="returnvalue">PangoGlyphString</span></a> *
1340
+ pango_glyph_string_copy (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a> *string</code></em>);</pre>
1341
+ <p>Copy a glyph string and associated storage.</p>
1342
+ <div class="refsect3">
1343
+ <a name="id-1.2.3.11.31.5"></a><h4>Parameters</h4>
1344
+ <div class="informaltable"><table width="100%" border="0">
1345
+ <colgroup>
1346
+ <col width="150px" class="parameters_name">
1347
+ <col class="parameters_description">
1348
+ <col width="200px" class="parameters_annotations">
1349
+ </colgroup>
1350
+ <tbody><tr>
1351
+ <td class="parameter_name"><p>string</p></td>
1352
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a>, may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
1353
+ <td class="parameter_annotations"> </td>
1354
+ </tr></tbody>
1355
+ </table></div>
1356
+ </div>
1357
+ <div class="refsect3">
1358
+ <a name="id-1.2.3.11.31.6"></a><h4>Returns</h4>
1359
+ <p> the newly allocated <a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a>, which
1360
+ should be freed with <a class="link" href="pango-Glyph-Storage.html#pango-glyph-string-free" title="pango_glyph_string_free ()"><code class="function">pango_glyph_string_free()</code></a>,
1361
+ or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>string</code></em>
1362
+ was <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
1363
+ <p></p>
1364
+ </div>
1365
+ </div>
1366
+ <hr>
1367
+ <div class="refsect2">
1368
+ <a name="pango-glyph-string-set-size"></a><h3>pango_glyph_string_set_size ()</h3>
1369
+ <pre class="programlisting"><span class="returnvalue">void</span>
1370
+ pango_glyph_string_set_size (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a> *string</code></em>,
1371
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> new_len</code></em>);</pre>
1372
+ <p>Resize a glyph string to the given length.</p>
1373
+ <div class="refsect3">
1374
+ <a name="id-1.2.3.11.32.5"></a><h4>Parameters</h4>
1375
+ <div class="informaltable"><table width="100%" border="0">
1376
+ <colgroup>
1377
+ <col width="150px" class="parameters_name">
1378
+ <col class="parameters_description">
1379
+ <col width="200px" class="parameters_annotations">
1380
+ </colgroup>
1381
+ <tbody>
1382
+ <tr>
1383
+ <td class="parameter_name"><p>string</p></td>
1384
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a>.</p></td>
1385
+ <td class="parameter_annotations"> </td>
1386
+ </tr>
1387
+ <tr>
1388
+ <td class="parameter_name"><p>new_len</p></td>
1389
+ <td class="parameter_description"><p>the new length of the string.</p></td>
1390
+ <td class="parameter_annotations"> </td>
1391
+ </tr>
1392
+ </tbody>
1393
+ </table></div>
1394
+ </div>
1395
+ </div>
1396
+ <hr>
1397
+ <div class="refsect2">
1398
+ <a name="pango-glyph-string-free"></a><h3>pango_glyph_string_free ()</h3>
1399
+ <pre class="programlisting"><span class="returnvalue">void</span>
1400
+ pango_glyph_string_free (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a> *string</code></em>);</pre>
1401
+ <p>Free a glyph string and associated storage.</p>
1402
+ <div class="refsect3">
1403
+ <a name="id-1.2.3.11.33.5"></a><h4>Parameters</h4>
1404
+ <div class="informaltable"><table width="100%" border="0">
1405
+ <colgroup>
1406
+ <col width="150px" class="parameters_name">
1407
+ <col class="parameters_description">
1408
+ <col width="200px" class="parameters_annotations">
1409
+ </colgroup>
1410
+ <tbody><tr>
1411
+ <td class="parameter_name"><p>string</p></td>
1412
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a>, may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
1413
+ <td class="parameter_annotations"> </td>
1414
+ </tr></tbody>
1415
+ </table></div>
1416
+ </div>
1417
+ </div>
1418
+ <hr>
1419
+ <div class="refsect2">
1420
+ <a name="pango-glyph-string-extents"></a><h3>pango_glyph_string_extents ()</h3>
1421
+ <pre class="programlisting"><span class="returnvalue">void</span>
1422
+ pango_glyph_string_extents (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a> *glyphs</code></em>,
1423
+ <em class="parameter"><code><a class="link" href="pango-Fonts.html#PangoFont"><span class="type">PangoFont</span></a> *font</code></em>,
1424
+ <em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoRectangle" title="struct PangoRectangle"><span class="type">PangoRectangle</span></a> *ink_rect</code></em>,
1425
+ <em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoRectangle" title="struct PangoRectangle"><span class="type">PangoRectangle</span></a> *logical_rect</code></em>);</pre>
1426
+ <p>Compute the logical and ink extents of a glyph string. See the documentation
1427
+ for <a class="link" href="pango-Fonts.html#pango-font-get-glyph-extents" title="pango_font_get_glyph_extents ()"><code class="function">pango_font_get_glyph_extents()</code></a> for details about the interpretation
1428
+ of the rectangles.</p>
1429
+ <div class="refsect3">
1430
+ <a name="id-1.2.3.11.34.5"></a><h4>Parameters</h4>
1431
+ <div class="informaltable"><table width="100%" border="0">
1432
+ <colgroup>
1433
+ <col width="150px" class="parameters_name">
1434
+ <col class="parameters_description">
1435
+ <col width="200px" class="parameters_annotations">
1436
+ </colgroup>
1437
+ <tbody>
1438
+ <tr>
1439
+ <td class="parameter_name"><p>glyphs</p></td>
1440
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a></p></td>
1441
+ <td class="parameter_annotations"> </td>
1442
+ </tr>
1443
+ <tr>
1444
+ <td class="parameter_name"><p>font</p></td>
1445
+ <td class="parameter_description"><p>a <a class="link" href="pango-Fonts.html#PangoFont"><span class="type">PangoFont</span></a></p></td>
1446
+ <td class="parameter_annotations"> </td>
1447
+ </tr>
1448
+ <tr>
1449
+ <td class="parameter_name"><p>ink_rect</p></td>
1450
+ <td class="parameter_description"><p> rectangle used to store the extents of the glyph string
1451
+ as drawn or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to indicate that the result is not needed. </p></td>
1452
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
1453
+ </tr>
1454
+ <tr>
1455
+ <td class="parameter_name"><p>logical_rect</p></td>
1456
+ <td class="parameter_description"><p> rectangle used to store the logical extents of the
1457
+ glyph string or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to indicate that the result is not needed. </p></td>
1458
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
1459
+ </tr>
1460
+ </tbody>
1461
+ </table></div>
1462
+ </div>
1463
+ </div>
1464
+ <hr>
1465
+ <div class="refsect2">
1466
+ <a name="pango-glyph-string-extents-range"></a><h3>pango_glyph_string_extents_range ()</h3>
1467
+ <pre class="programlisting"><span class="returnvalue">void</span>
1468
+ pango_glyph_string_extents_range (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a> *glyphs</code></em>,
1469
+ <em class="parameter"><code><span class="type">int</span> start</code></em>,
1470
+ <em class="parameter"><code><span class="type">int</span> end</code></em>,
1471
+ <em class="parameter"><code><a class="link" href="pango-Fonts.html#PangoFont"><span class="type">PangoFont</span></a> *font</code></em>,
1472
+ <em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoRectangle" title="struct PangoRectangle"><span class="type">PangoRectangle</span></a> *ink_rect</code></em>,
1473
+ <em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoRectangle" title="struct PangoRectangle"><span class="type">PangoRectangle</span></a> *logical_rect</code></em>);</pre>
1474
+ <p>Computes the extents of a sub-portion of a glyph string. The extents are
1475
+ relative to the start of the glyph string range (the origin of their
1476
+ coordinate system is at the start of the range, not at the start of the entire
1477
+ glyph string).</p>
1478
+ <div class="refsect3">
1479
+ <a name="id-1.2.3.11.35.5"></a><h4>Parameters</h4>
1480
+ <div class="informaltable"><table width="100%" border="0">
1481
+ <colgroup>
1482
+ <col width="150px" class="parameters_name">
1483
+ <col class="parameters_description">
1484
+ <col width="200px" class="parameters_annotations">
1485
+ </colgroup>
1486
+ <tbody>
1487
+ <tr>
1488
+ <td class="parameter_name"><p>glyphs</p></td>
1489
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a></p></td>
1490
+ <td class="parameter_annotations"> </td>
1491
+ </tr>
1492
+ <tr>
1493
+ <td class="parameter_name"><p>start</p></td>
1494
+ <td class="parameter_description"><p>start index</p></td>
1495
+ <td class="parameter_annotations"> </td>
1496
+ </tr>
1497
+ <tr>
1498
+ <td class="parameter_name"><p>end</p></td>
1499
+ <td class="parameter_description"><p>end index (the range is the set of bytes with
1500
+ indices such that start &lt;= index &lt; end)</p></td>
1501
+ <td class="parameter_annotations"> </td>
1502
+ </tr>
1503
+ <tr>
1504
+ <td class="parameter_name"><p>font</p></td>
1505
+ <td class="parameter_description"><p>a <a class="link" href="pango-Fonts.html#PangoFont"><span class="type">PangoFont</span></a></p></td>
1506
+ <td class="parameter_annotations"> </td>
1507
+ </tr>
1508
+ <tr>
1509
+ <td class="parameter_name"><p>ink_rect</p></td>
1510
+ <td class="parameter_description"><p> rectangle used to store the
1511
+ extents of the glyph string range as drawn or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to
1512
+ indicate that the result is not needed. </p></td>
1513
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span></td>
1514
+ </tr>
1515
+ <tr>
1516
+ <td class="parameter_name"><p>logical_rect</p></td>
1517
+ <td class="parameter_description"><p> rectangle used to store the
1518
+ logical extents of the glyph string range or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to
1519
+ indicate that the result is not needed. </p></td>
1520
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span></td>
1521
+ </tr>
1522
+ </tbody>
1523
+ </table></div>
1524
+ </div>
1525
+ </div>
1526
+ <hr>
1527
+ <div class="refsect2">
1528
+ <a name="pango-glyph-string-get-width"></a><h3>pango_glyph_string_get_width ()</h3>
1529
+ <pre class="programlisting"><span class="returnvalue">int</span>
1530
+ pango_glyph_string_get_width (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a> *glyphs</code></em>);</pre>
1531
+ <p>Computes the logical width of the glyph string as can also be computed
1532
+ using <a class="link" href="pango-Glyph-Storage.html#pango-glyph-string-extents" title="pango_glyph_string_extents ()"><code class="function">pango_glyph_string_extents()</code></a>. However, since this only computes the
1533
+ width, it's much faster. This is in fact only a convenience function that
1534
+ computes the sum of geometry.width for each glyph in the <em class="parameter"><code>glyphs</code></em>
1535
+ .</p>
1536
+ <div class="refsect3">
1537
+ <a name="id-1.2.3.11.36.5"></a><h4>Parameters</h4>
1538
+ <div class="informaltable"><table width="100%" border="0">
1539
+ <colgroup>
1540
+ <col width="150px" class="parameters_name">
1541
+ <col class="parameters_description">
1542
+ <col width="200px" class="parameters_annotations">
1543
+ </colgroup>
1544
+ <tbody><tr>
1545
+ <td class="parameter_name"><p>glyphs</p></td>
1546
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a></p></td>
1547
+ <td class="parameter_annotations"> </td>
1548
+ </tr></tbody>
1549
+ </table></div>
1550
+ </div>
1551
+ <div class="refsect3">
1552
+ <a name="id-1.2.3.11.36.6"></a><h4>Returns</h4>
1553
+ <p> the logical width of the glyph string.</p>
1554
+ <p></p>
1555
+ </div>
1556
+ <p class="since">Since 1.14</p>
1557
+ </div>
1558
+ <hr>
1559
+ <div class="refsect2">
1560
+ <a name="pango-glyph-string-index-to-x"></a><h3>pango_glyph_string_index_to_x ()</h3>
1561
+ <pre class="programlisting"><span class="returnvalue">void</span>
1562
+ pango_glyph_string_index_to_x (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a> *glyphs</code></em>,
1563
+ <em class="parameter"><code><span class="type">char</span> *text</code></em>,
1564
+ <em class="parameter"><code><span class="type">int</span> length</code></em>,
1565
+ <em class="parameter"><code><a class="link" href="pango-Text-Processing.html#PangoAnalysis" title="struct PangoAnalysis"><span class="type">PangoAnalysis</span></a> *analysis</code></em>,
1566
+ <em class="parameter"><code><span class="type">int</span> index_</code></em>,
1567
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> trailing</code></em>,
1568
+ <em class="parameter"><code><span class="type">int</span> *x_pos</code></em>);</pre>
1569
+ <p>Converts from character position to x position. (X position
1570
+ is measured from the left edge of the run). Character positions
1571
+ are computed by dividing up each cluster into equal portions.</p>
1572
+ <div class="refsect3">
1573
+ <a name="id-1.2.3.11.37.5"></a><h4>Parameters</h4>
1574
+ <div class="informaltable"><table width="100%" border="0">
1575
+ <colgroup>
1576
+ <col width="150px" class="parameters_name">
1577
+ <col class="parameters_description">
1578
+ <col width="200px" class="parameters_annotations">
1579
+ </colgroup>
1580
+ <tbody>
1581
+ <tr>
1582
+ <td class="parameter_name"><p>glyphs</p></td>
1583
+ <td class="parameter_description"><p>the glyphs return from <a class="link" href="pango-Text-Processing.html#pango-shape" title="pango_shape ()"><code class="function">pango_shape()</code></a></p></td>
1584
+ <td class="parameter_annotations"> </td>
1585
+ </tr>
1586
+ <tr>
1587
+ <td class="parameter_name"><p>text</p></td>
1588
+ <td class="parameter_description"><p>the text for the run</p></td>
1589
+ <td class="parameter_annotations"> </td>
1590
+ </tr>
1591
+ <tr>
1592
+ <td class="parameter_name"><p>length</p></td>
1593
+ <td class="parameter_description"><p>the number of bytes (not characters) in <em class="parameter"><code>text</code></em>
1594
+ .</p></td>
1595
+ <td class="parameter_annotations"> </td>
1596
+ </tr>
1597
+ <tr>
1598
+ <td class="parameter_name"><p>analysis</p></td>
1599
+ <td class="parameter_description"><p>the analysis information return from <a class="link" href="pango-Text-Processing.html#pango-itemize" title="pango_itemize ()"><code class="function">pango_itemize()</code></a></p></td>
1600
+ <td class="parameter_annotations"> </td>
1601
+ </tr>
1602
+ <tr>
1603
+ <td class="parameter_name"><p>index_</p></td>
1604
+ <td class="parameter_description"><p>the byte index within <em class="parameter"><code>text</code></em>
1605
+ </p></td>
1606
+ <td class="parameter_annotations"> </td>
1607
+ </tr>
1608
+ <tr>
1609
+ <td class="parameter_name"><p>trailing</p></td>
1610
+ <td class="parameter_description"><p>whether we should compute the result for the beginning (<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>)
1611
+ or end (<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>) of the character.</p></td>
1612
+ <td class="parameter_annotations"> </td>
1613
+ </tr>
1614
+ <tr>
1615
+ <td class="parameter_name"><p>x_pos</p></td>
1616
+ <td class="parameter_description"><p> location to store result. </p></td>
1617
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
1618
+ </tr>
1619
+ </tbody>
1620
+ </table></div>
1621
+ </div>
1622
+ </div>
1623
+ <hr>
1624
+ <div class="refsect2">
1625
+ <a name="pango-glyph-string-x-to-index"></a><h3>pango_glyph_string_x_to_index ()</h3>
1626
+ <pre class="programlisting"><span class="returnvalue">void</span>
1627
+ pango_glyph_string_x_to_index (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a> *glyphs</code></em>,
1628
+ <em class="parameter"><code><span class="type">char</span> *text</code></em>,
1629
+ <em class="parameter"><code><span class="type">int</span> length</code></em>,
1630
+ <em class="parameter"><code><a class="link" href="pango-Text-Processing.html#PangoAnalysis" title="struct PangoAnalysis"><span class="type">PangoAnalysis</span></a> *analysis</code></em>,
1631
+ <em class="parameter"><code><span class="type">int</span> x_pos</code></em>,
1632
+ <em class="parameter"><code><span class="type">int</span> *index_</code></em>,
1633
+ <em class="parameter"><code><span class="type">int</span> *trailing</code></em>);</pre>
1634
+ <p>Convert from x offset to character position. Character positions
1635
+ are computed by dividing up each cluster into equal portions.
1636
+ In scripts where positioning within a cluster is not allowed
1637
+ (such as Thai), the returned value may not be a valid cursor
1638
+ position; the caller must combine the result with the logical
1639
+ attributes for the text to compute the valid cursor position.</p>
1640
+ <div class="refsect3">
1641
+ <a name="id-1.2.3.11.38.5"></a><h4>Parameters</h4>
1642
+ <div class="informaltable"><table width="100%" border="0">
1643
+ <colgroup>
1644
+ <col width="150px" class="parameters_name">
1645
+ <col class="parameters_description">
1646
+ <col width="200px" class="parameters_annotations">
1647
+ </colgroup>
1648
+ <tbody>
1649
+ <tr>
1650
+ <td class="parameter_name"><p>glyphs</p></td>
1651
+ <td class="parameter_description"><p>the glyphs returned from <a class="link" href="pango-Text-Processing.html#pango-shape" title="pango_shape ()"><code class="function">pango_shape()</code></a></p></td>
1652
+ <td class="parameter_annotations"> </td>
1653
+ </tr>
1654
+ <tr>
1655
+ <td class="parameter_name"><p>text</p></td>
1656
+ <td class="parameter_description"><p>the text for the run</p></td>
1657
+ <td class="parameter_annotations"> </td>
1658
+ </tr>
1659
+ <tr>
1660
+ <td class="parameter_name"><p>length</p></td>
1661
+ <td class="parameter_description"><p>the number of bytes (not characters) in text.</p></td>
1662
+ <td class="parameter_annotations"> </td>
1663
+ </tr>
1664
+ <tr>
1665
+ <td class="parameter_name"><p>analysis</p></td>
1666
+ <td class="parameter_description"><p>the analysis information return from <a class="link" href="pango-Text-Processing.html#pango-itemize" title="pango_itemize ()"><code class="function">pango_itemize()</code></a></p></td>
1667
+ <td class="parameter_annotations"> </td>
1668
+ </tr>
1669
+ <tr>
1670
+ <td class="parameter_name"><p>x_pos</p></td>
1671
+ <td class="parameter_description"><p>the x offset (in Pango units)</p></td>
1672
+ <td class="parameter_annotations"> </td>
1673
+ </tr>
1674
+ <tr>
1675
+ <td class="parameter_name"><p>index_</p></td>
1676
+ <td class="parameter_description"><p> location to store calculated byte index within <em class="parameter"><code>text</code></em>
1677
+ . </p></td>
1678
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
1679
+ </tr>
1680
+ <tr>
1681
+ <td class="parameter_name"><p>trailing</p></td>
1682
+ <td class="parameter_description"><p> location to store a boolean indicating
1683
+ whether the user clicked on the leading or trailing
1684
+ edge of the character. </p></td>
1685
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
1686
+ </tr>
1687
+ </tbody>
1688
+ </table></div>
1689
+ </div>
1690
+ </div>
1691
+ <hr>
1692
+ <div class="refsect2">
1693
+ <a name="pango-glyph-string-get-logical-widths"></a><h3>pango_glyph_string_get_logical_widths ()</h3>
1694
+ <pre class="programlisting"><span class="returnvalue">void</span>
1695
+ pango_glyph_string_get_logical_widths (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a> *glyphs</code></em>,
1696
+ <em class="parameter"><code>const <span class="type">char</span> *text</code></em>,
1697
+ <em class="parameter"><code><span class="type">int</span> length</code></em>,
1698
+ <em class="parameter"><code><span class="type">int</span> embedding_level</code></em>,
1699
+ <em class="parameter"><code><span class="type">int</span> *logical_widths</code></em>);</pre>
1700
+ <p>Given a <a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a> resulting from <a class="link" href="pango-Text-Processing.html#pango-shape" title="pango_shape ()"><code class="function">pango_shape()</code></a> and the corresponding
1701
+ text, determine the screen width corresponding to each character. When
1702
+ multiple characters compose a single cluster, the width of the entire
1703
+ cluster is divided equally among the characters.</p>
1704
+ <p>See also <a class="link" href="pango-Glyph-Storage.html#pango-glyph-item-get-logical-widths" title="pango_glyph_item_get_logical_widths ()"><code class="function">pango_glyph_item_get_logical_widths()</code></a>.</p>
1705
+ <div class="refsect3">
1706
+ <a name="id-1.2.3.11.39.6"></a><h4>Parameters</h4>
1707
+ <div class="informaltable"><table width="100%" border="0">
1708
+ <colgroup>
1709
+ <col width="150px" class="parameters_name">
1710
+ <col class="parameters_description">
1711
+ <col width="200px" class="parameters_annotations">
1712
+ </colgroup>
1713
+ <tbody>
1714
+ <tr>
1715
+ <td class="parameter_name"><p>glyphs</p></td>
1716
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a></p></td>
1717
+ <td class="parameter_annotations"> </td>
1718
+ </tr>
1719
+ <tr>
1720
+ <td class="parameter_name"><p>text</p></td>
1721
+ <td class="parameter_description"><p>the text corresponding to the glyphs</p></td>
1722
+ <td class="parameter_annotations"> </td>
1723
+ </tr>
1724
+ <tr>
1725
+ <td class="parameter_name"><p>length</p></td>
1726
+ <td class="parameter_description"><p>the length of <em class="parameter"><code>text</code></em>
1727
+ , in bytes</p></td>
1728
+ <td class="parameter_annotations"> </td>
1729
+ </tr>
1730
+ <tr>
1731
+ <td class="parameter_name"><p>embedding_level</p></td>
1732
+ <td class="parameter_description"><p>the embedding level of the string</p></td>
1733
+ <td class="parameter_annotations"> </td>
1734
+ </tr>
1735
+ <tr>
1736
+ <td class="parameter_name"><p>logical_widths</p></td>
1737
+ <td class="parameter_description"><p> an array whose length is the number of
1738
+ characters in text (equal to g_utf8_strlen (text,
1739
+ length) unless text has NUL bytes) to be filled in
1740
+ with the resulting character widths. </p></td>
1741
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>]</span></td>
1742
+ </tr>
1743
+ </tbody>
1744
+ </table></div>
1745
+ </div>
1746
+ </div>
1747
+ <hr>
1748
+ <div class="refsect2">
1749
+ <a name="PANGO-TYPE-GLYPH-ITEM:CAPS"></a><h3>PANGO_TYPE_GLYPH_ITEM</h3>
1750
+ <pre class="programlisting">#define PANGO_TYPE_GLYPH_ITEM (pango_glyph_item_get_type ())
1751
+ </pre>
1752
+ <p>The <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> type for <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="type">PangoGlyphItem</span></a>.</p>
1753
+ </div>
1754
+ <hr>
1755
+ <div class="refsect2">
1756
+ <a name="pango-glyph-item-copy"></a><h3>pango_glyph_item_copy ()</h3>
1757
+ <pre class="programlisting"><a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="returnvalue">PangoGlyphItem</span></a> *
1758
+ pango_glyph_item_copy (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="type">PangoGlyphItem</span></a> *orig</code></em>);</pre>
1759
+ <p>Make a deep copy of an existing <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="type">PangoGlyphItem</span></a> structure.</p>
1760
+ <div class="refsect3">
1761
+ <a name="id-1.2.3.11.41.5"></a><h4>Parameters</h4>
1762
+ <div class="informaltable"><table width="100%" border="0">
1763
+ <colgroup>
1764
+ <col width="150px" class="parameters_name">
1765
+ <col class="parameters_description">
1766
+ <col width="200px" class="parameters_annotations">
1767
+ </colgroup>
1768
+ <tbody><tr>
1769
+ <td class="parameter_name"><p>orig</p></td>
1770
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="type">PangoGlyphItem</span></a>, may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
1771
+ <td class="parameter_annotations"> </td>
1772
+ </tr></tbody>
1773
+ </table></div>
1774
+ </div>
1775
+ <div class="refsect3">
1776
+ <a name="id-1.2.3.11.41.6"></a><h4>Returns</h4>
1777
+ <p> the newly allocated <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="type">PangoGlyphItem</span></a>, which should
1778
+ be freed with <a class="link" href="pango-Glyph-Storage.html#pango-glyph-item-free" title="pango_glyph_item_free ()"><code class="function">pango_glyph_item_free()</code></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
1779
+ if <em class="parameter"><code>orig</code></em>
1780
+ was <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
1781
+ <p></p>
1782
+ </div>
1783
+ <p class="since">Since 1.20</p>
1784
+ </div>
1785
+ <hr>
1786
+ <div class="refsect2">
1787
+ <a name="pango-glyph-item-free"></a><h3>pango_glyph_item_free ()</h3>
1788
+ <pre class="programlisting"><span class="returnvalue">void</span>
1789
+ pango_glyph_item_free (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="type">PangoGlyphItem</span></a> *glyph_item</code></em>);</pre>
1790
+ <p>Frees a <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="type">PangoGlyphItem</span></a> and resources to which it points.</p>
1791
+ <div class="refsect3">
1792
+ <a name="id-1.2.3.11.42.5"></a><h4>Parameters</h4>
1793
+ <div class="informaltable"><table width="100%" border="0">
1794
+ <colgroup>
1795
+ <col width="150px" class="parameters_name">
1796
+ <col class="parameters_description">
1797
+ <col width="200px" class="parameters_annotations">
1798
+ </colgroup>
1799
+ <tbody><tr>
1800
+ <td class="parameter_name"><p>glyph_item</p></td>
1801
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="type">PangoGlyphItem</span></a>, may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
1802
+ <td class="parameter_annotations"> </td>
1803
+ </tr></tbody>
1804
+ </table></div>
1805
+ </div>
1806
+ <p class="since">Since 1.6</p>
1807
+ </div>
1808
+ <hr>
1809
+ <div class="refsect2">
1810
+ <a name="pango-glyph-item-split"></a><h3>pango_glyph_item_split ()</h3>
1811
+ <pre class="programlisting"><a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="returnvalue">PangoGlyphItem</span></a> *
1812
+ pango_glyph_item_split (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="type">PangoGlyphItem</span></a> *orig</code></em>,
1813
+ <em class="parameter"><code>const <span class="type">char</span> *text</code></em>,
1814
+ <em class="parameter"><code><span class="type">int</span> split_index</code></em>);</pre>
1815
+ <p>Modifies <em class="parameter"><code>orig</code></em>
1816
+ to cover only the text after <em class="parameter"><code>split_index</code></em>
1817
+ , and
1818
+ returns a new item that covers the text before <em class="parameter"><code>split_index</code></em>
1819
+ that
1820
+ used to be in <em class="parameter"><code>orig</code></em>
1821
+ . You can think of <em class="parameter"><code>split_index</code></em>
1822
+ as the length of
1823
+ the returned item. <em class="parameter"><code>split_index</code></em>
1824
+ may not be 0, and it may not be
1825
+ greater than or equal to the length of <em class="parameter"><code>orig</code></em>
1826
+ (that is, there must
1827
+ be at least one byte assigned to each item, you can't create a
1828
+ zero-length item).</p>
1829
+ <p>This function is similar in function to <a class="link" href="pango-Text-Processing.html#pango-item-split" title="pango_item_split ()"><code class="function">pango_item_split()</code></a> (and uses
1830
+ it internally.)</p>
1831
+ <div class="refsect3">
1832
+ <a name="id-1.2.3.11.43.6"></a><h4>Parameters</h4>
1833
+ <div class="informaltable"><table width="100%" border="0">
1834
+ <colgroup>
1835
+ <col width="150px" class="parameters_name">
1836
+ <col class="parameters_description">
1837
+ <col width="200px" class="parameters_annotations">
1838
+ </colgroup>
1839
+ <tbody>
1840
+ <tr>
1841
+ <td class="parameter_name"><p>orig</p></td>
1842
+ <td class="parameter_description"><p>a <a class="link" href="pango-Text-Processing.html#PangoItem"><span class="type">PangoItem</span></a></p></td>
1843
+ <td class="parameter_annotations"> </td>
1844
+ </tr>
1845
+ <tr>
1846
+ <td class="parameter_name"><p>text</p></td>
1847
+ <td class="parameter_description"><p>text to which positions in <em class="parameter"><code>orig</code></em>
1848
+ apply</p></td>
1849
+ <td class="parameter_annotations"> </td>
1850
+ </tr>
1851
+ <tr>
1852
+ <td class="parameter_name"><p>split_index</p></td>
1853
+ <td class="parameter_description"><p>byte index of position to split item, relative to the start of the item</p></td>
1854
+ <td class="parameter_annotations"> </td>
1855
+ </tr>
1856
+ </tbody>
1857
+ </table></div>
1858
+ </div>
1859
+ <div class="refsect3">
1860
+ <a name="id-1.2.3.11.43.7"></a><h4>Returns</h4>
1861
+ <p> the newly allocated item representing text before
1862
+ <em class="parameter"><code>split_index</code></em>
1863
+ , which should be freed
1864
+ with <a class="link" href="pango-Glyph-Storage.html#pango-glyph-item-free" title="pango_glyph_item_free ()"><code class="function">pango_glyph_item_free()</code></a>.</p>
1865
+ <p></p>
1866
+ </div>
1867
+ <p class="since">Since 1.2</p>
1868
+ </div>
1869
+ <hr>
1870
+ <div class="refsect2">
1871
+ <a name="pango-glyph-item-apply-attrs"></a><h3>pango_glyph_item_apply_attrs ()</h3>
1872
+ <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *
1873
+ pango_glyph_item_apply_attrs (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="type">PangoGlyphItem</span></a> *glyph_item</code></em>,
1874
+ <em class="parameter"><code>const <span class="type">char</span> *text</code></em>,
1875
+ <em class="parameter"><code><a class="link" href="pango-Text-Attributes.html#PangoAttrList"><span class="type">PangoAttrList</span></a> *list</code></em>);</pre>
1876
+ <p>Splits a shaped item (PangoGlyphItem) into multiple items based
1877
+ on an attribute list. The idea is that if you have attributes
1878
+ that don't affect shaping, such as color or underline, to avoid
1879
+ affecting shaping, you filter them out (<a class="link" href="pango-Text-Attributes.html#pango-attr-list-filter" title="pango_attr_list_filter ()"><code class="function">pango_attr_list_filter()</code></a>),
1880
+ apply the shaping process and then reapply them to the result using
1881
+ this function.</p>
1882
+ <p>All attributes that start or end inside a cluster are applied
1883
+ to that cluster; for instance, if half of a cluster is underlined
1884
+ and the other-half strikethrough, then the cluster will end
1885
+ up with both underline and strikethrough attributes. In these
1886
+ cases, it may happen that item-&gt;extra_attrs for some of the
1887
+ result items can have multiple attributes of the same type.</p>
1888
+ <p>This function takes ownership of <em class="parameter"><code>glyph_item</code></em>
1889
+ ; it will be reused
1890
+ as one of the elements in the list.</p>
1891
+ <div class="refsect3">
1892
+ <a name="id-1.2.3.11.44.7"></a><h4>Parameters</h4>
1893
+ <div class="informaltable"><table width="100%" border="0">
1894
+ <colgroup>
1895
+ <col width="150px" class="parameters_name">
1896
+ <col class="parameters_description">
1897
+ <col width="200px" class="parameters_annotations">
1898
+ </colgroup>
1899
+ <tbody>
1900
+ <tr>
1901
+ <td class="parameter_name"><p>glyph_item</p></td>
1902
+ <td class="parameter_description"><p>a shaped item</p></td>
1903
+ <td class="parameter_annotations"> </td>
1904
+ </tr>
1905
+ <tr>
1906
+ <td class="parameter_name"><p>text</p></td>
1907
+ <td class="parameter_description"><p>text that <em class="parameter"><code>list</code></em>
1908
+ applies to</p></td>
1909
+ <td class="parameter_annotations"> </td>
1910
+ </tr>
1911
+ <tr>
1912
+ <td class="parameter_name"><p>list</p></td>
1913
+ <td class="parameter_description"><p>a <a class="link" href="pango-Text-Attributes.html#PangoAttrList"><span class="type">PangoAttrList</span></a></p></td>
1914
+ <td class="parameter_annotations"> </td>
1915
+ </tr>
1916
+ </tbody>
1917
+ </table></div>
1918
+ </div>
1919
+ <div class="refsect3">
1920
+ <a name="id-1.2.3.11.44.8"></a><h4>Returns</h4>
1921
+ <p> a
1922
+ list of glyph items resulting from splitting <em class="parameter"><code>glyph_item</code></em>
1923
+ . Free
1924
+ the elements using <a class="link" href="pango-Glyph-Storage.html#pango-glyph-item-free" title="pango_glyph_item_free ()"><code class="function">pango_glyph_item_free()</code></a>, the list using
1925
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Singly-Linked-Lists.html#g-slist-free"><code class="function">g_slist_free()</code></a>. </p>
1926
+ <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> Pango.GlyphItem]</span></p>
1927
+ </div>
1928
+ <p class="since">Since 1.2</p>
1929
+ </div>
1930
+ <hr>
1931
+ <div class="refsect2">
1932
+ <a name="pango-glyph-item-letter-space"></a><h3>pango_glyph_item_letter_space ()</h3>
1933
+ <pre class="programlisting"><span class="returnvalue">void</span>
1934
+ pango_glyph_item_letter_space (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="type">PangoGlyphItem</span></a> *glyph_item</code></em>,
1935
+ <em class="parameter"><code>const <span class="type">char</span> *text</code></em>,
1936
+ <em class="parameter"><code><a class="link" href="pango-Text-Processing.html#PangoLogAttr" title="PangoLogAttr"><span class="type">PangoLogAttr</span></a> *log_attrs</code></em>,
1937
+ <em class="parameter"><code><span class="type">int</span> letter_spacing</code></em>);</pre>
1938
+ <p>Adds spacing between the graphemes of <em class="parameter"><code>glyph_item</code></em>
1939
+ to
1940
+ give the effect of typographic letter spacing.</p>
1941
+ <div class="refsect3">
1942
+ <a name="id-1.2.3.11.45.5"></a><h4>Parameters</h4>
1943
+ <div class="informaltable"><table width="100%" border="0">
1944
+ <colgroup>
1945
+ <col width="150px" class="parameters_name">
1946
+ <col class="parameters_description">
1947
+ <col width="200px" class="parameters_annotations">
1948
+ </colgroup>
1949
+ <tbody>
1950
+ <tr>
1951
+ <td class="parameter_name"><p>glyph_item</p></td>
1952
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="type">PangoGlyphItem</span></a></p></td>
1953
+ <td class="parameter_annotations"> </td>
1954
+ </tr>
1955
+ <tr>
1956
+ <td class="parameter_name"><p>text</p></td>
1957
+ <td class="parameter_description"><p>text that <em class="parameter"><code>glyph_item</code></em>
1958
+ corresponds to
1959
+ (glyph_item-&gt;item-&gt;offset is an offset from the
1960
+ start of <em class="parameter"><code>text</code></em>
1961
+ )</p></td>
1962
+ <td class="parameter_annotations"> </td>
1963
+ </tr>
1964
+ <tr>
1965
+ <td class="parameter_name"><p>log_attrs</p></td>
1966
+ <td class="parameter_description"><p> logical attributes for the item
1967
+ (the first logical attribute refers to the position
1968
+ before the first character in the item). </p></td>
1969
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>]</span></td>
1970
+ </tr>
1971
+ <tr>
1972
+ <td class="parameter_name"><p>letter_spacing</p></td>
1973
+ <td class="parameter_description"><p>amount of letter spacing to add
1974
+ in Pango units. May be negative, though too large
1975
+ negative values will give ugly results.</p></td>
1976
+ <td class="parameter_annotations"> </td>
1977
+ </tr>
1978
+ </tbody>
1979
+ </table></div>
1980
+ </div>
1981
+ <p class="since">Since 1.6</p>
1982
+ </div>
1983
+ <hr>
1984
+ <div class="refsect2">
1985
+ <a name="pango-glyph-item-get-logical-widths"></a><h3>pango_glyph_item_get_logical_widths ()</h3>
1986
+ <pre class="programlisting"><span class="returnvalue">void</span>
1987
+ pango_glyph_item_get_logical_widths (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="type">PangoGlyphItem</span></a> *glyph_item</code></em>,
1988
+ <em class="parameter"><code>const <span class="type">char</span> *text</code></em>,
1989
+ <em class="parameter"><code><span class="type">int</span> *logical_widths</code></em>);</pre>
1990
+ <p>Given a <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="type">PangoGlyphItem</span></a> and the corresponding
1991
+ text, determine the screen width corresponding to each character. When
1992
+ multiple characters compose a single cluster, the width of the entire
1993
+ cluster is divided equally among the characters.</p>
1994
+ <p>See also <a class="link" href="pango-Glyph-Storage.html#pango-glyph-string-get-logical-widths" title="pango_glyph_string_get_logical_widths ()"><code class="function">pango_glyph_string_get_logical_widths()</code></a>.</p>
1995
+ <div class="refsect3">
1996
+ <a name="id-1.2.3.11.46.6"></a><h4>Parameters</h4>
1997
+ <div class="informaltable"><table width="100%" border="0">
1998
+ <colgroup>
1999
+ <col width="150px" class="parameters_name">
2000
+ <col class="parameters_description">
2001
+ <col width="200px" class="parameters_annotations">
2002
+ </colgroup>
2003
+ <tbody>
2004
+ <tr>
2005
+ <td class="parameter_name"><p>glyph_item</p></td>
2006
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="type">PangoGlyphItem</span></a></p></td>
2007
+ <td class="parameter_annotations"> </td>
2008
+ </tr>
2009
+ <tr>
2010
+ <td class="parameter_name"><p>text</p></td>
2011
+ <td class="parameter_description"><p>text that <em class="parameter"><code>glyph_item</code></em>
2012
+ corresponds to
2013
+ (glyph_item-&gt;item-&gt;offset is an offset from the
2014
+ start of <em class="parameter"><code>text</code></em>
2015
+ )</p></td>
2016
+ <td class="parameter_annotations"> </td>
2017
+ </tr>
2018
+ <tr>
2019
+ <td class="parameter_name"><p>logical_widths</p></td>
2020
+ <td class="parameter_description"><p> an array whose length is the number of
2021
+ characters in glyph_item (equal to
2022
+ glyph_item-&gt;item-&gt;num_chars) to be filled in with
2023
+ the resulting character widths. </p></td>
2024
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>]</span></td>
2025
+ </tr>
2026
+ </tbody>
2027
+ </table></div>
2028
+ </div>
2029
+ <p class="since">Since 1.26</p>
2030
+ </div>
2031
+ <hr>
2032
+ <div class="refsect2">
2033
+ <a name="PANGO-TYPE-GLYPH-ITEM-ITER:CAPS"></a><h3>PANGO_TYPE_GLYPH_ITEM_ITER</h3>
2034
+ <pre class="programlisting">#define PANGO_TYPE_GLYPH_ITEM_ITER (pango_glyph_item_iter_get_type ())
2035
+ </pre>
2036
+ <p>The <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> type for <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="type">PangoGlyphItemIter</span></a>.</p>
2037
+ <p class="since">Since 1.22</p>
2038
+ </div>
2039
+ <hr>
2040
+ <div class="refsect2">
2041
+ <a name="pango-glyph-item-iter-copy"></a><h3>pango_glyph_item_iter_copy ()</h3>
2042
+ <pre class="programlisting"><a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="returnvalue">PangoGlyphItemIter</span></a> *
2043
+ pango_glyph_item_iter_copy (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="type">PangoGlyphItemIter</span></a> *orig</code></em>);</pre>
2044
+ <p>Make a shallow copy of an existing <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="type">PangoGlyphItemIter</span></a> structure.</p>
2045
+ <div class="refsect3">
2046
+ <a name="id-1.2.3.11.48.5"></a><h4>Parameters</h4>
2047
+ <div class="informaltable"><table width="100%" border="0">
2048
+ <colgroup>
2049
+ <col width="150px" class="parameters_name">
2050
+ <col class="parameters_description">
2051
+ <col width="200px" class="parameters_annotations">
2052
+ </colgroup>
2053
+ <tbody><tr>
2054
+ <td class="parameter_name"><p>orig</p></td>
2055
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="type">PangoGlyphItemIter</span></a>, may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
2056
+ <td class="parameter_annotations"> </td>
2057
+ </tr></tbody>
2058
+ </table></div>
2059
+ </div>
2060
+ <div class="refsect3">
2061
+ <a name="id-1.2.3.11.48.6"></a><h4>Returns</h4>
2062
+ <p> the newly allocated <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="type">PangoGlyphItemIter</span></a>, which should
2063
+ be freed with <a class="link" href="pango-Glyph-Storage.html#pango-glyph-item-iter-free" title="pango_glyph_item_iter_free ()"><code class="function">pango_glyph_item_iter_free()</code></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
2064
+ if <em class="parameter"><code>orig</code></em>
2065
+ was <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
2066
+ <p></p>
2067
+ </div>
2068
+ <p class="since">Since 1.22</p>
2069
+ </div>
2070
+ <hr>
2071
+ <div class="refsect2">
2072
+ <a name="pango-glyph-item-iter-free"></a><h3>pango_glyph_item_iter_free ()</h3>
2073
+ <pre class="programlisting"><span class="returnvalue">void</span>
2074
+ pango_glyph_item_iter_free (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="type">PangoGlyphItemIter</span></a> *iter</code></em>);</pre>
2075
+ <p>Frees a <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="type">PangoGlyphItemIter</span></a> created by <a class="link" href="pango-Glyph-Storage.html#pango-glyph-item-iter-copy" title="pango_glyph_item_iter_copy ()"><code class="function">pango_glyph_item_iter_copy()</code></a>.</p>
2076
+ <div class="refsect3">
2077
+ <a name="id-1.2.3.11.49.5"></a><h4>Parameters</h4>
2078
+ <div class="informaltable"><table width="100%" border="0">
2079
+ <colgroup>
2080
+ <col width="150px" class="parameters_name">
2081
+ <col class="parameters_description">
2082
+ <col width="200px" class="parameters_annotations">
2083
+ </colgroup>
2084
+ <tbody><tr>
2085
+ <td class="parameter_name"><p>iter</p></td>
2086
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="type">PangoGlyphItemIter</span></a>, may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
2087
+ <td class="parameter_annotations"> </td>
2088
+ </tr></tbody>
2089
+ </table></div>
2090
+ </div>
2091
+ <p class="since">Since 1.22</p>
2092
+ </div>
2093
+ <hr>
2094
+ <div class="refsect2">
2095
+ <a name="pango-glyph-item-iter-init-start"></a><h3>pango_glyph_item_iter_init_start ()</h3>
2096
+ <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
2097
+ pango_glyph_item_iter_init_start (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="type">PangoGlyphItemIter</span></a> *iter</code></em>,
2098
+ <em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="type">PangoGlyphItem</span></a> *glyph_item</code></em>,
2099
+ <em class="parameter"><code>const <span class="type">char</span> *text</code></em>);</pre>
2100
+ <p>Initializes a <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="type">PangoGlyphItemIter</span></a> structure to point to the
2101
+ first cluster in a glyph item.
2102
+ See <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="type">PangoGlyphItemIter</span></a> for details of cluster orders.</p>
2103
+ <div class="refsect3">
2104
+ <a name="id-1.2.3.11.50.5"></a><h4>Parameters</h4>
2105
+ <div class="informaltable"><table width="100%" border="0">
2106
+ <colgroup>
2107
+ <col width="150px" class="parameters_name">
2108
+ <col class="parameters_description">
2109
+ <col width="200px" class="parameters_annotations">
2110
+ </colgroup>
2111
+ <tbody>
2112
+ <tr>
2113
+ <td class="parameter_name"><p>iter</p></td>
2114
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="type">PangoGlyphItemIter</span></a></p></td>
2115
+ <td class="parameter_annotations"> </td>
2116
+ </tr>
2117
+ <tr>
2118
+ <td class="parameter_name"><p>glyph_item</p></td>
2119
+ <td class="parameter_description"><p>the glyph item to iterate over</p></td>
2120
+ <td class="parameter_annotations"> </td>
2121
+ </tr>
2122
+ <tr>
2123
+ <td class="parameter_name"><p>text</p></td>
2124
+ <td class="parameter_description"><p>text corresponding to the glyph item</p></td>
2125
+ <td class="parameter_annotations"> </td>
2126
+ </tr>
2127
+ </tbody>
2128
+ </table></div>
2129
+ </div>
2130
+ <div class="refsect3">
2131
+ <a name="id-1.2.3.11.50.6"></a><h4>Returns</h4>
2132
+ <p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if there are no clusters in the glyph item</p>
2133
+ <p></p>
2134
+ </div>
2135
+ <p class="since">Since 1.22</p>
2136
+ </div>
2137
+ <hr>
2138
+ <div class="refsect2">
2139
+ <a name="pango-glyph-item-iter-init-end"></a><h3>pango_glyph_item_iter_init_end ()</h3>
2140
+ <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
2141
+ pango_glyph_item_iter_init_end (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="type">PangoGlyphItemIter</span></a> *iter</code></em>,
2142
+ <em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="type">PangoGlyphItem</span></a> *glyph_item</code></em>,
2143
+ <em class="parameter"><code>const <span class="type">char</span> *text</code></em>);</pre>
2144
+ <p>Initializes a <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="type">PangoGlyphItemIter</span></a> structure to point to the
2145
+ last cluster in a glyph item.
2146
+ See <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="type">PangoGlyphItemIter</span></a> for details of cluster orders.</p>
2147
+ <div class="refsect3">
2148
+ <a name="id-1.2.3.11.51.5"></a><h4>Parameters</h4>
2149
+ <div class="informaltable"><table width="100%" border="0">
2150
+ <colgroup>
2151
+ <col width="150px" class="parameters_name">
2152
+ <col class="parameters_description">
2153
+ <col width="200px" class="parameters_annotations">
2154
+ </colgroup>
2155
+ <tbody>
2156
+ <tr>
2157
+ <td class="parameter_name"><p>iter</p></td>
2158
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="type">PangoGlyphItemIter</span></a></p></td>
2159
+ <td class="parameter_annotations"> </td>
2160
+ </tr>
2161
+ <tr>
2162
+ <td class="parameter_name"><p>glyph_item</p></td>
2163
+ <td class="parameter_description"><p>the glyph item to iterate over</p></td>
2164
+ <td class="parameter_annotations"> </td>
2165
+ </tr>
2166
+ <tr>
2167
+ <td class="parameter_name"><p>text</p></td>
2168
+ <td class="parameter_description"><p>text corresponding to the glyph item</p></td>
2169
+ <td class="parameter_annotations"> </td>
2170
+ </tr>
2171
+ </tbody>
2172
+ </table></div>
2173
+ </div>
2174
+ <div class="refsect3">
2175
+ <a name="id-1.2.3.11.51.6"></a><h4>Returns</h4>
2176
+ <p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if there are no clusters in the glyph item</p>
2177
+ <p></p>
2178
+ </div>
2179
+ <p class="since">Since 1.22</p>
2180
+ </div>
2181
+ <hr>
2182
+ <div class="refsect2">
2183
+ <a name="pango-glyph-item-iter-next-cluster"></a><h3>pango_glyph_item_iter_next_cluster ()</h3>
2184
+ <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
2185
+ pango_glyph_item_iter_next_cluster (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="type">PangoGlyphItemIter</span></a> *iter</code></em>);</pre>
2186
+ <p>Advances the iterator to the next cluster in the glyph item.
2187
+ See <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="type">PangoGlyphItemIter</span></a> for details of cluster orders.</p>
2188
+ <div class="refsect3">
2189
+ <a name="id-1.2.3.11.52.5"></a><h4>Parameters</h4>
2190
+ <div class="informaltable"><table width="100%" border="0">
2191
+ <colgroup>
2192
+ <col width="150px" class="parameters_name">
2193
+ <col class="parameters_description">
2194
+ <col width="200px" class="parameters_annotations">
2195
+ </colgroup>
2196
+ <tbody><tr>
2197
+ <td class="parameter_name"><p>iter</p></td>
2198
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="type">PangoGlyphItemIter</span></a></p></td>
2199
+ <td class="parameter_annotations"> </td>
2200
+ </tr></tbody>
2201
+ </table></div>
2202
+ </div>
2203
+ <div class="refsect3">
2204
+ <a name="id-1.2.3.11.52.6"></a><h4>Returns</h4>
2205
+ <p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the iterator was advanced, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if we were already on the
2206
+ last cluster.</p>
2207
+ <p></p>
2208
+ </div>
2209
+ <p class="since">Since 1.22</p>
2210
+ </div>
2211
+ <hr>
2212
+ <div class="refsect2">
2213
+ <a name="pango-glyph-item-iter-prev-cluster"></a><h3>pango_glyph_item_iter_prev_cluster ()</h3>
2214
+ <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
2215
+ pango_glyph_item_iter_prev_cluster (<em class="parameter"><code><a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="type">PangoGlyphItemIter</span></a> *iter</code></em>);</pre>
2216
+ <p>Moves the iterator to the preceding cluster in the glyph item.
2217
+ See <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="type">PangoGlyphItemIter</span></a> for details of cluster orders.</p>
2218
+ <div class="refsect3">
2219
+ <a name="id-1.2.3.11.53.5"></a><h4>Parameters</h4>
2220
+ <div class="informaltable"><table width="100%" border="0">
2221
+ <colgroup>
2222
+ <col width="150px" class="parameters_name">
2223
+ <col class="parameters_description">
2224
+ <col width="200px" class="parameters_annotations">
2225
+ </colgroup>
2226
+ <tbody><tr>
2227
+ <td class="parameter_name"><p>iter</p></td>
2228
+ <td class="parameter_description"><p>a <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="type">PangoGlyphItemIter</span></a></p></td>
2229
+ <td class="parameter_annotations"> </td>
2230
+ </tr></tbody>
2231
+ </table></div>
2232
+ </div>
2233
+ <div class="refsect3">
2234
+ <a name="id-1.2.3.11.53.6"></a><h4>Returns</h4>
2235
+ <p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the iterator was moved, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if we were already on the
2236
+ first cluster.</p>
2237
+ <p></p>
2238
+ </div>
2239
+ <p class="since">Since 1.22</p>
2240
+ </div>
2241
+ </div>
2242
+ <div class="refsect1">
2243
+ <a name="pango-Glyph-Storage.other_details"></a><h2>Types and Values</h2>
2244
+ <div class="refsect2">
2245
+ <a name="PANGO-SCALE:CAPS"></a><h3>PANGO_SCALE</h3>
2246
+ <pre class="programlisting">#define PANGO_SCALE 1024
2247
+ </pre>
2248
+ <p>The <a class="link" href="pango-Glyph-Storage.html#PANGO-SCALE:CAPS" title="PANGO_SCALE"><code class="literal">PANGO_SCALE</code></a> macro represents the scale between dimensions used
2249
+ for Pango distances and device units. (The definition of device
2250
+ units is dependent on the output device; it will typically be pixels
2251
+ for a screen, and points for a printer.) <a class="link" href="pango-Glyph-Storage.html#PANGO-SCALE:CAPS" title="PANGO_SCALE"><code class="literal">PANGO_SCALE</code></a> is currently
2252
+ 1024, but this may be changed in the future.</p>
2253
+ <p>When setting font sizes, device units are always considered to be
2254
+ points (as in "12 point font"), rather than pixels.</p>
2255
+ </div>
2256
+ <hr>
2257
+ <div class="refsect2">
2258
+ <a name="PangoRectangle"></a><h3>struct PangoRectangle</h3>
2259
+ <pre class="programlisting">struct PangoRectangle {
2260
+ int x;
2261
+ int y;
2262
+ int width;
2263
+ int height;
2264
+ };
2265
+ </pre>
2266
+ <p>The <a class="link" href="pango-Glyph-Storage.html#PangoRectangle" title="struct PangoRectangle"><span class="type">PangoRectangle</span></a> structure represents a rectangle. It is frequently
2267
+ used to represent the logical or ink extents of a single glyph or section
2268
+ of text. (See, for instance, <a class="link" href="pango-Fonts.html#pango-font-get-glyph-extents" title="pango_font_get_glyph_extents ()"><code class="function">pango_font_get_glyph_extents()</code></a>)</p>
2269
+ <div class="refsect3">
2270
+ <a name="id-1.2.3.12.3.5"></a><h4>Members</h4>
2271
+ <div class="informaltable"><table width="100%" border="0">
2272
+ <colgroup>
2273
+ <col width="300px" class="struct_members_name">
2274
+ <col class="struct_members_description">
2275
+ <col width="200px" class="struct_members_annotations">
2276
+ </colgroup>
2277
+ <tbody>
2278
+ <tr>
2279
+ <td class="struct_member_name"><p><span class="type">int</span> <em class="structfield"><code><a name="PangoRectangle.x"></a>x</code></em>;</p></td>
2280
+ <td class="struct_member_description"><p>X coordinate of the left side of the rectangle.</p></td>
2281
+ <td class="struct_member_annotations"> </td>
2282
+ </tr>
2283
+ <tr>
2284
+ <td class="struct_member_name"><p><span class="type">int</span> <em class="structfield"><code><a name="PangoRectangle.y"></a>y</code></em>;</p></td>
2285
+ <td class="struct_member_description"><p>Y coordinate of the the top side of the rectangle.</p></td>
2286
+ <td class="struct_member_annotations"> </td>
2287
+ </tr>
2288
+ <tr>
2289
+ <td class="struct_member_name"><p><span class="type">int</span> <em class="structfield"><code><a name="PangoRectangle.width"></a>width</code></em>;</p></td>
2290
+ <td class="struct_member_description"><p>width of the rectangle.</p></td>
2291
+ <td class="struct_member_annotations"> </td>
2292
+ </tr>
2293
+ <tr>
2294
+ <td class="struct_member_name"><p><span class="type">int</span> <em class="structfield"><code><a name="PangoRectangle.height"></a>height</code></em>;</p></td>
2295
+ <td class="struct_member_description"><p>height of the rectangle.</p></td>
2296
+ <td class="struct_member_annotations"> </td>
2297
+ </tr>
2298
+ </tbody>
2299
+ </table></div>
2300
+ </div>
2301
+ </div>
2302
+ <hr>
2303
+ <div class="refsect2">
2304
+ <a name="PangoMatrix-struct"></a><h3>struct PangoMatrix</h3>
2305
+ <pre class="programlisting">struct PangoMatrix {
2306
+ double xx;
2307
+ double xy;
2308
+ double yx;
2309
+ double yy;
2310
+ double x0;
2311
+ double y0;
2312
+ };
2313
+ </pre>
2314
+ <p>A structure specifying a transformation between user-space
2315
+ coordinates and device coordinates. The transformation
2316
+ is given by</p>
2317
+ <pre class="programlisting">
2318
+ x_device = x_user * matrix-&gt;xx + y_user * matrix-&gt;xy + matrix-&gt;x0;
2319
+ y_device = x_user * matrix-&gt;yx + y_user * matrix-&gt;yy + matrix-&gt;y0;
2320
+ </pre>
2321
+ <div class="refsect3">
2322
+ <a name="id-1.2.3.12.4.6"></a><h4>Members</h4>
2323
+ <div class="informaltable"><table width="100%" border="0">
2324
+ <colgroup>
2325
+ <col width="300px" class="struct_members_name">
2326
+ <col class="struct_members_description">
2327
+ <col width="200px" class="struct_members_annotations">
2328
+ </colgroup>
2329
+ <tbody>
2330
+ <tr>
2331
+ <td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="PangoMatrix-struct.xx"></a>xx</code></em>;</p></td>
2332
+ <td class="struct_member_description"><p>1st component of the transformation matrix</p></td>
2333
+ <td class="struct_member_annotations"> </td>
2334
+ </tr>
2335
+ <tr>
2336
+ <td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="PangoMatrix-struct.xy"></a>xy</code></em>;</p></td>
2337
+ <td class="struct_member_description"><p>2nd component of the transformation matrix</p></td>
2338
+ <td class="struct_member_annotations"> </td>
2339
+ </tr>
2340
+ <tr>
2341
+ <td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="PangoMatrix-struct.yx"></a>yx</code></em>;</p></td>
2342
+ <td class="struct_member_description"><p>3rd component of the transformation matrix</p></td>
2343
+ <td class="struct_member_annotations"> </td>
2344
+ </tr>
2345
+ <tr>
2346
+ <td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="PangoMatrix-struct.yy"></a>yy</code></em>;</p></td>
2347
+ <td class="struct_member_description"><p>4th component of the transformation matrix</p></td>
2348
+ <td class="struct_member_annotations"> </td>
2349
+ </tr>
2350
+ <tr>
2351
+ <td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="PangoMatrix-struct.x0"></a>x0</code></em>;</p></td>
2352
+ <td class="struct_member_description"><p>x translation</p></td>
2353
+ <td class="struct_member_annotations"> </td>
2354
+ </tr>
2355
+ <tr>
2356
+ <td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="PangoMatrix-struct.y0"></a>y0</code></em>;</p></td>
2357
+ <td class="struct_member_description"><p>y translation</p></td>
2358
+ <td class="struct_member_annotations"> </td>
2359
+ </tr>
2360
+ </tbody>
2361
+ </table></div>
2362
+ </div>
2363
+ <p class="since">Since 1.6</p>
2364
+ </div>
2365
+ <hr>
2366
+ <div class="refsect2">
2367
+ <a name="PANGO-MATRIX-INIT:CAPS"></a><h3>PANGO_MATRIX_INIT</h3>
2368
+ <pre class="programlisting">#define PANGO_MATRIX_INIT { 1., 0., 0., 1., 0., 0. }
2369
+ </pre>
2370
+ <p>Constant that can be used to initialize a PangoMatrix to
2371
+ the identity transform.</p>
2372
+ <div class="informalexample">
2373
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
2374
+ <tbody>
2375
+ <tr>
2376
+ <td class="listing_lines" align="right"><pre>1
2377
+ 2</pre></td>
2378
+ <td class="listing_code"><pre class="programlisting"><span class="usertype">PangoMatrix</span><span class="normal"> matrix </span><span class="symbol">=</span><span class="normal"> <a href="pango-Glyph-Storage.html#PANGO-MATRIX-INIT:CAPS">PANGO_MATRIX_INIT</a></span><span class="symbol">;</span>
2379
+ <span class="function"><a href="pango-Glyph-Storage.html#pango-matrix-rotate">pango_matrix_rotate</a></span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">matrix</span><span class="symbol">,</span><span class="normal"> </span><span class="number">45</span><span class="symbol">.);</span></pre></td>
2380
+ </tr>
2381
+ </tbody>
2382
+ </table>
2383
+ </div>
2384
+
2385
+ <p class="since">Since 1.6</p>
2386
+ </div>
2387
+ <hr>
2388
+ <div class="refsect2">
2389
+ <a name="PangoGlyph"></a><h3>PangoGlyph</h3>
2390
+ <pre class="programlisting">typedef guint32 PangoGlyph;
2391
+ </pre>
2392
+ <p>A <a class="link" href="pango-Glyph-Storage.html#PangoGlyph" title="PangoGlyph"><span class="type">PangoGlyph</span></a> represents a single glyph in the output form of a string.</p>
2393
+ </div>
2394
+ <hr>
2395
+ <div class="refsect2">
2396
+ <a name="PangoGlyphInfo"></a><h3>struct PangoGlyphInfo</h3>
2397
+ <pre class="programlisting">struct PangoGlyphInfo {
2398
+ PangoGlyph glyph;
2399
+ PangoGlyphGeometry geometry;
2400
+ PangoGlyphVisAttr attr;
2401
+ };
2402
+ </pre>
2403
+ <p>The <a class="link" href="pango-Glyph-Storage.html#PangoGlyphInfo" title="struct PangoGlyphInfo"><span class="type">PangoGlyphInfo</span></a> structure represents a single glyph together with
2404
+ positioning information and visual attributes.
2405
+ It contains the following fields.</p>
2406
+ <div class="refsect3">
2407
+ <a name="id-1.2.3.12.7.5"></a><h4>Members</h4>
2408
+ <div class="informaltable"><table width="100%" border="0">
2409
+ <colgroup>
2410
+ <col width="300px" class="struct_members_name">
2411
+ <col class="struct_members_description">
2412
+ <col width="200px" class="struct_members_annotations">
2413
+ </colgroup>
2414
+ <tbody>
2415
+ <tr>
2416
+ <td class="struct_member_name"><p><a class="link" href="pango-Glyph-Storage.html#PangoGlyph" title="PangoGlyph"><span class="type">PangoGlyph</span></a> <em class="structfield"><code><a name="PangoGlyphInfo.glyph"></a>glyph</code></em>;</p></td>
2417
+ <td class="struct_member_description"><p>the glyph itself.</p></td>
2418
+ <td class="struct_member_annotations"> </td>
2419
+ </tr>
2420
+ <tr>
2421
+ <td class="struct_member_name"><p><a class="link" href="pango-Glyph-Storage.html#PangoGlyphGeometry" title="struct PangoGlyphGeometry"><span class="type">PangoGlyphGeometry</span></a> <em class="structfield"><code><a name="PangoGlyphInfo.geometry"></a>geometry</code></em>;</p></td>
2422
+ <td class="struct_member_description"><p>the positional information about the glyph.</p></td>
2423
+ <td class="struct_member_annotations"> </td>
2424
+ </tr>
2425
+ <tr>
2426
+ <td class="struct_member_name"><p><a class="link" href="pango-Glyph-Storage.html#PangoGlyphVisAttr" title="struct PangoGlyphVisAttr"><span class="type">PangoGlyphVisAttr</span></a> <em class="structfield"><code><a name="PangoGlyphInfo.attr"></a>attr</code></em>;</p></td>
2427
+ <td class="struct_member_description"><p>the visual attributes of the glyph.</p></td>
2428
+ <td class="struct_member_annotations"> </td>
2429
+ </tr>
2430
+ </tbody>
2431
+ </table></div>
2432
+ </div>
2433
+ </div>
2434
+ <hr>
2435
+ <div class="refsect2">
2436
+ <a name="PangoGlyphGeometry"></a><h3>struct PangoGlyphGeometry</h3>
2437
+ <pre class="programlisting">struct PangoGlyphGeometry {
2438
+ PangoGlyphUnit width;
2439
+ PangoGlyphUnit x_offset;
2440
+ PangoGlyphUnit y_offset;
2441
+ };
2442
+ </pre>
2443
+ <p>The <a class="link" href="pango-Glyph-Storage.html#PangoGlyphGeometry" title="struct PangoGlyphGeometry"><span class="type">PangoGlyphGeometry</span></a> structure contains width and positioning
2444
+ information for a single glyph.</p>
2445
+ <div class="refsect3">
2446
+ <a name="id-1.2.3.12.8.5"></a><h4>Members</h4>
2447
+ <div class="informaltable"><table width="100%" border="0">
2448
+ <colgroup>
2449
+ <col width="300px" class="struct_members_name">
2450
+ <col class="struct_members_description">
2451
+ <col width="200px" class="struct_members_annotations">
2452
+ </colgroup>
2453
+ <tbody>
2454
+ <tr>
2455
+ <td class="struct_member_name"><p><a class="link" href="pango-Glyph-Storage.html#PangoGlyphUnit" title="PangoGlyphUnit"><span class="type">PangoGlyphUnit</span></a> <em class="structfield"><code><a name="PangoGlyphGeometry.width"></a>width</code></em>;</p></td>
2456
+ <td class="struct_member_description"><p>the logical width to use for the the character.</p></td>
2457
+ <td class="struct_member_annotations"> </td>
2458
+ </tr>
2459
+ <tr>
2460
+ <td class="struct_member_name"><p><a class="link" href="pango-Glyph-Storage.html#PangoGlyphUnit" title="PangoGlyphUnit"><span class="type">PangoGlyphUnit</span></a> <em class="structfield"><code><a name="PangoGlyphGeometry.x-offset"></a>x_offset</code></em>;</p></td>
2461
+ <td class="struct_member_description"><p>horizontal offset from nominal character position.</p></td>
2462
+ <td class="struct_member_annotations"> </td>
2463
+ </tr>
2464
+ <tr>
2465
+ <td class="struct_member_name"><p><a class="link" href="pango-Glyph-Storage.html#PangoGlyphUnit" title="PangoGlyphUnit"><span class="type">PangoGlyphUnit</span></a> <em class="structfield"><code><a name="PangoGlyphGeometry.y-offset"></a>y_offset</code></em>;</p></td>
2466
+ <td class="struct_member_description"><p>vertical offset from nominal character position.</p></td>
2467
+ <td class="struct_member_annotations"> </td>
2468
+ </tr>
2469
+ </tbody>
2470
+ </table></div>
2471
+ </div>
2472
+ </div>
2473
+ <hr>
2474
+ <div class="refsect2">
2475
+ <a name="PangoGlyphUnit"></a><h3>PangoGlyphUnit</h3>
2476
+ <pre class="programlisting">typedef gint32 PangoGlyphUnit;
2477
+ </pre>
2478
+ <p>The <a class="link" href="pango-Glyph-Storage.html#PangoGlyphUnit" title="PangoGlyphUnit"><span class="type">PangoGlyphUnit</span></a> type is used to store dimensions within
2479
+ Pango. Dimensions are stored in 1/<a class="link" href="pango-Glyph-Storage.html#PANGO-SCALE:CAPS" title="PANGO_SCALE"><code class="literal">PANGO_SCALE</code></a> of a device unit.
2480
+ (A device unit might be a pixel for screen display, or
2481
+ a point on a printer.) <a class="link" href="pango-Glyph-Storage.html#PANGO-SCALE:CAPS" title="PANGO_SCALE"><code class="literal">PANGO_SCALE</code></a> is currently 1024, and
2482
+ may change in the future (unlikely though), but you should not
2483
+ depend on its exact value. The <a class="link" href="pango-Glyph-Storage.html#PANGO-PIXELS:CAPS" title="PANGO_PIXELS()"><code class="function">PANGO_PIXELS()</code></a> macro can be used
2484
+ to convert from glyph units into device units with correct rounding.</p>
2485
+ </div>
2486
+ <hr>
2487
+ <div class="refsect2">
2488
+ <a name="PangoGlyphVisAttr"></a><h3>struct PangoGlyphVisAttr</h3>
2489
+ <pre class="programlisting">struct PangoGlyphVisAttr {
2490
+ guint is_cluster_start : 1;
2491
+ };
2492
+ </pre>
2493
+ <p>The PangoGlyphVisAttr is used to communicate information between
2494
+ the shaping phase and the rendering phase. More attributes may be
2495
+ added in the future.</p>
2496
+ <div class="refsect3">
2497
+ <a name="id-1.2.3.12.10.5"></a><h4>Members</h4>
2498
+ <div class="informaltable"><table width="100%" border="0">
2499
+ <colgroup>
2500
+ <col width="300px" class="struct_members_name">
2501
+ <col class="struct_members_description">
2502
+ <col width="200px" class="struct_members_annotations">
2503
+ </colgroup>
2504
+ <tbody><tr>
2505
+ <td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="PangoGlyphVisAttr.is-cluster-start"></a>is_cluster_start</code></em> : 1;</p></td>
2506
+ <td class="struct_member_description"><p>set for the first logical glyph in each cluster. (Clusters
2507
+ are stored in visual order, within the cluster, glyphs
2508
+ are always ordered in logical order, since visual
2509
+ order is meaningless; that is, in Arabic text, accent glyphs
2510
+ follow the glyphs for the base character.)</p></td>
2511
+ <td class="struct_member_annotations"> </td>
2512
+ </tr></tbody>
2513
+ </table></div>
2514
+ </div>
2515
+ </div>
2516
+ <hr>
2517
+ <div class="refsect2">
2518
+ <a name="PangoGlyphString-struct"></a><h3>struct PangoGlyphString</h3>
2519
+ <pre class="programlisting">struct PangoGlyphString {
2520
+ gint num_glyphs;
2521
+
2522
+ PangoGlyphInfo *glyphs;
2523
+
2524
+ /* This is a memory inefficient way of representing the information
2525
+ * here - each value gives the byte index within the text
2526
+ * corresponding to the glyph string of the start of the cluster to
2527
+ * which the glyph belongs.
2528
+ */
2529
+ gint *log_clusters;
2530
+ };
2531
+ </pre>
2532
+ <p>The <a class="link" href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a> structure is used to store strings
2533
+ of glyphs with geometry and visual attribute information.
2534
+ The storage for the glyph information is owned
2535
+ by the structure which simplifies memory management.</p>
2536
+ </div>
2537
+ <hr>
2538
+ <div class="refsect2">
2539
+ <a name="PangoGlyphItem-struct"></a><h3>struct PangoGlyphItem</h3>
2540
+ <pre class="programlisting">struct PangoGlyphItem {
2541
+ PangoItem *item;
2542
+ PangoGlyphString *glyphs;
2543
+ };
2544
+ </pre>
2545
+ <p>A <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="type">PangoGlyphItem</span></a> is a pair of a <a class="link" href="pango-Text-Processing.html#PangoItem"><span class="type">PangoItem</span></a> and the glyphs
2546
+ resulting from shaping the text corresponding to an item.
2547
+ As an example of the usage of <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="type">PangoGlyphItem</span></a>, the results
2548
+ of shaping text with <a class="link" href="pango-Layout-Objects.html#PangoLayout"><span class="type">PangoLayout</span></a> is a list of <a class="link" href="pango-Layout-Objects.html#PangoLayoutLine"><span class="type">PangoLayoutLine</span></a>,
2549
+ each of which contains a list of <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="type">PangoGlyphItem</span></a>.</p>
2550
+ </div>
2551
+ <hr>
2552
+ <div class="refsect2">
2553
+ <a name="PangoGlyphItemIter-struct"></a><h3>struct PangoGlyphItemIter</h3>
2554
+ <pre class="programlisting">struct PangoGlyphItemIter {
2555
+ PangoGlyphItem *glyph_item;
2556
+ const gchar *text;
2557
+
2558
+ int start_glyph;
2559
+ int start_index;
2560
+ int start_char;
2561
+
2562
+ int end_glyph;
2563
+ int end_index;
2564
+ int end_char;
2565
+ };
2566
+ </pre>
2567
+ <p>A <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="type">PangoGlyphItemIter</span></a> is an iterator over the clusters in a
2568
+ <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItem"><span class="type">PangoGlyphItem</span></a>. The <em class="firstterm">forward direction</em> of the
2569
+ iterator is the logical direction of text. That is, with increasing
2570
+ <em class="parameter"><code>start_index</code></em>
2571
+ and <em class="parameter"><code>start_char</code></em>
2572
+ values. If <em class="parameter"><code>glyph_item</code></em>
2573
+ is right-to-left
2574
+ (that is, if <code class="literal"><em class="parameter"><code>glyph_item-&gt;item-&gt;analysis.level</code></em>
2575
+ </code> is odd),
2576
+ then <em class="parameter"><code>start_glyph</code></em>
2577
+ decreases as the iterator moves forward. Moreover,
2578
+ in right-to-left cases, <em class="parameter"><code>start_glyph</code></em>
2579
+ is greater than <em class="parameter"><code>end_glyph</code></em>
2580
+ .</p>
2581
+ <p>An iterator should be initialized using either of
2582
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-item-iter-init-start" title="pango_glyph_item_iter_init_start ()"><code class="function">pango_glyph_item_iter_init_start()</code></a> and
2583
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-item-iter-init-end" title="pango_glyph_item_iter_init_end ()"><code class="function">pango_glyph_item_iter_init_end()</code></a>, for forward and backward iteration
2584
+ respectively, and walked over using any desired mixture of
2585
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-item-iter-next-cluster" title="pango_glyph_item_iter_next_cluster ()"><code class="function">pango_glyph_item_iter_next_cluster()</code></a> and
2586
+ <a class="link" href="pango-Glyph-Storage.html#pango-glyph-item-iter-prev-cluster" title="pango_glyph_item_iter_prev_cluster ()"><code class="function">pango_glyph_item_iter_prev_cluster()</code></a>. A common idiom for doing a
2587
+ forward iteration over the clusters is:</p>
2588
+ <pre class="programlisting">
2589
+ PangoGlyphItemIter cluster_iter;
2590
+ gboolean have_cluster;
2591
+
2592
+ for (have_cluster = pango_glyph_item_iter_init_start (&amp;cluster_iter,
2593
+ glyph_item, text);
2594
+ have_cluster;
2595
+ have_cluster = pango_glyph_item_iter_next_cluster (&amp;cluster_iter))
2596
+ {
2597
+ ...
2598
+ }
2599
+ </pre>
2600
+ <p>Note that <em class="parameter"><code>text</code></em>
2601
+ is the start of the text for layout, which is then
2602
+ indexed by <code class="literal"><em class="parameter"><code>glyph_item-&gt;item-&gt;offset</code></em>
2603
+ </code> to get to the
2604
+ text of <em class="parameter"><code>glyph_item</code></em>
2605
+ . The <em class="parameter"><code>start_index</code></em>
2606
+ and <em class="parameter"><code>end_index</code></em>
2607
+ values can directly
2608
+ index into <em class="parameter"><code>text</code></em>
2609
+ . The <em class="parameter"><code>start_glyph</code></em>
2610
+ , <em class="parameter"><code>end_glyph</code></em>
2611
+ , <em class="parameter"><code>start_char</code></em>
2612
+ , and <em class="parameter"><code>end_char</code></em>
2613
+
2614
+ values however are zero-based for the <em class="parameter"><code>glyph_item</code></em>
2615
+ . For each cluster, the
2616
+ item pointed at by the start variables is included in the cluster while
2617
+ the one pointed at by end variables is not.</p>
2618
+ <p>None of the members of a <a class="link" href="pango-Glyph-Storage.html#PangoGlyphItemIter"><span class="type">PangoGlyphItemIter</span></a> should be modified manually.</p>
2619
+ <p class="since">Since 1.22</p>
2620
+ </div>
2621
+ </div>
2622
+ </div>
2623
+ <div class="footer">
2624
+ <hr>
2625
+ Generated by GTK-Doc V1.21.1</div>
2626
+ </body>
2627
+ </html>