/binding/pango/script.d

http://github.com/wilkie/djehuty · D · 143 lines · 87 code · 17 blank · 39 comment · 0 complexity · 6dd3db4cdb3ec536b8432ca7eda8bd27 MD5 · raw file

  1. /*
  2. * script.d
  3. *
  4. * This file holds bindings to pango's pango-script.h. The original
  5. * copyright is displayed below.
  6. *
  7. * Author: Dave Wilkinson
  8. *
  9. */
  10. module binding.pango.script;
  11. import binding.pango.types;
  12. /* Pango
  13. * pango-script.h: Script tag handling
  14. *
  15. * Copyright (C) 2002 Red Hat Software
  16. *
  17. * This library is free software; you can redistribute it and/or
  18. * modify it under the terms of the GNU Library General Public
  19. * License as published by the Free Software Foundation; either
  20. * version 2 of the License, or (at your option) any later version.
  21. *
  22. * This library is distributed in the hope that it will be useful,
  23. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  24. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  25. * Library General Public License for more details.
  26. *
  27. * You should have received a copy of the GNU Library General Public
  28. * License along with this library; if not, write to the
  29. * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  30. * Boston, MA 02111-1307, USA.
  31. */
  32. /**
  33. * PangoScriptIter:
  34. *
  35. * A #PangoScriptIter is used to iterate through a string
  36. * and identify ranges in different scripts.
  37. **/
  38. extern(C) struct _PangoScriptIter;
  39. extern(C):
  40. alias _PangoScriptIter PangoScriptIter;
  41. enum PangoScript { /* ISO 15924 code */
  42. PANGO_SCRIPT_INVALID_CODE = -1,
  43. PANGO_SCRIPT_COMMON = 0, /* Zyyy */
  44. PANGO_SCRIPT_INHERITED, /* Qaai */
  45. PANGO_SCRIPT_ARABIC, /* Arab */
  46. PANGO_SCRIPT_ARMENIAN, /* Armn */
  47. PANGO_SCRIPT_BENGALI, /* Beng */
  48. PANGO_SCRIPT_BOPOMOFO, /* Bopo */
  49. PANGO_SCRIPT_CHEROKEE, /* Cher */
  50. PANGO_SCRIPT_COPTIC, /* Qaac */
  51. PANGO_SCRIPT_CYRILLIC, /* Cyrl (Cyrs) */
  52. PANGO_SCRIPT_DESERET, /* Dsrt */
  53. PANGO_SCRIPT_DEVANAGARI, /* Deva */
  54. PANGO_SCRIPT_ETHIOPIC, /* Ethi */
  55. PANGO_SCRIPT_GEORGIAN, /* Geor (Geon, Geoa) */
  56. PANGO_SCRIPT_GOTHIC, /* Goth */
  57. PANGO_SCRIPT_GREEK, /* Grek */
  58. PANGO_SCRIPT_GUJARATI, /* Gujr */
  59. PANGO_SCRIPT_GURMUKHI, /* Guru */
  60. PANGO_SCRIPT_HAN, /* Hani */
  61. PANGO_SCRIPT_HANGUL, /* Hang */
  62. PANGO_SCRIPT_HEBREW, /* Hebr */
  63. PANGO_SCRIPT_HIRAGANA, /* Hira */
  64. PANGO_SCRIPT_KANNADA, /* Knda */
  65. PANGO_SCRIPT_KATAKANA, /* Kana */
  66. PANGO_SCRIPT_KHMER, /* Khmr */
  67. PANGO_SCRIPT_LAO, /* Laoo */
  68. PANGO_SCRIPT_LATIN, /* Latn (Latf, Latg) */
  69. PANGO_SCRIPT_MALAYALAM, /* Mlym */
  70. PANGO_SCRIPT_MONGOLIAN, /* Mong */
  71. PANGO_SCRIPT_MYANMAR, /* Mymr */
  72. PANGO_SCRIPT_OGHAM, /* Ogam */
  73. PANGO_SCRIPT_OLD_ITALIC, /* Ital */
  74. PANGO_SCRIPT_ORIYA, /* Orya */
  75. PANGO_SCRIPT_RUNIC, /* Runr */
  76. PANGO_SCRIPT_SINHALA, /* Sinh */
  77. PANGO_SCRIPT_SYRIAC, /* Syrc (Syrj, Syrn, Syre) */
  78. PANGO_SCRIPT_TAMIL, /* Taml */
  79. PANGO_SCRIPT_TELUGU, /* Telu */
  80. PANGO_SCRIPT_THAANA, /* Thaa */
  81. PANGO_SCRIPT_THAI, /* Thai */
  82. PANGO_SCRIPT_TIBETAN, /* Tibt */
  83. PANGO_SCRIPT_CANADIAN_ABORIGINAL, /* Cans */
  84. PANGO_SCRIPT_YI, /* Yiii */
  85. PANGO_SCRIPT_TAGALOG, /* Tglg */
  86. PANGO_SCRIPT_HANUNOO, /* Hano */
  87. PANGO_SCRIPT_BUHID, /* Buhd */
  88. PANGO_SCRIPT_TAGBANWA, /* Tagb */
  89. /* Unicode-4.0 additions */
  90. PANGO_SCRIPT_BRAILLE, /* Brai */
  91. PANGO_SCRIPT_CYPRIOT, /* Cprt */
  92. PANGO_SCRIPT_LIMBU, /* Limb */
  93. PANGO_SCRIPT_OSMANYA, /* Osma */
  94. PANGO_SCRIPT_SHAVIAN, /* Shaw */
  95. PANGO_SCRIPT_LINEAR_B, /* Linb */
  96. PANGO_SCRIPT_TAI_LE, /* Tale */
  97. PANGO_SCRIPT_UGARITIC, /* Ugar */
  98. /* Unicode-4.1 additions */
  99. PANGO_SCRIPT_NEW_TAI_LUE, /* Talu */
  100. PANGO_SCRIPT_BUGINESE, /* Bugi */
  101. PANGO_SCRIPT_GLAGOLITIC, /* Glag */
  102. PANGO_SCRIPT_TIFINAGH, /* Tfng */
  103. PANGO_SCRIPT_SYLOTI_NAGRI, /* Sylo */
  104. PANGO_SCRIPT_OLD_PERSIAN, /* Xpeo */
  105. PANGO_SCRIPT_KHAROSHTHI, /* Khar */
  106. /* Unicode-5.0 additions */
  107. PANGO_SCRIPT_UNKNOWN, /* Zzzz */
  108. PANGO_SCRIPT_BALINESE, /* Bali */
  109. PANGO_SCRIPT_CUNEIFORM, /* Xsux */
  110. PANGO_SCRIPT_PHOENICIAN, /* Phnx */
  111. PANGO_SCRIPT_PHAGS_PA, /* Phag */
  112. PANGO_SCRIPT_NKO /* Nkoo */
  113. }
  114. //#include <pango/pango-types.h>
  115. PangoScript pango_script_for_unichar (gunichar ch);
  116. PangoScriptIter *pango_script_iter_new (char *text,
  117. int length);
  118. void pango_script_iter_get_range (PangoScriptIter *iter,
  119. char **start,
  120. char **end,
  121. PangoScript *script);
  122. gboolean pango_script_iter_next (PangoScriptIter *iter);
  123. void pango_script_iter_free (PangoScriptIter *iter);
  124. PangoLanguage *pango_script_get_sample_language (PangoScript script);
  125. gboolean pango_language_includes_script (PangoLanguage *language,
  126. PangoScript script);