pango 2.2.4-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
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>