t1cmap.h 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. /***************************************************************************/
  2. /* */
  3. /* t1cmap.h */
  4. /* */
  5. /* Type 1 character map support (specification). */
  6. /* */
  7. /* Copyright 2002 by */
  8. /* David Turner, Robert Wilhelm, and Werner Lemberg. */
  9. /* */
  10. /* This file is part of the FreeType project, and may only be used, */
  11. /* modified, and distributed under the terms of the FreeType project */
  12. /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
  13. /* this file you indicate that you have read the license and */
  14. /* understand and accept it fully. */
  15. /* */
  16. /***************************************************************************/
  17. #ifndef __T1CMAP_H__
  18. #define __T1CMAP_H__
  19. #include <ft2build.h>
  20. #include FT_INTERNAL_OBJECTS_H
  21. #include FT_INTERNAL_TYPE1_TYPES_H
  22. #include FT_INTERNAL_POSTSCRIPT_NAMES_H
  23. FT_BEGIN_HEADER
  24. /*************************************************************************/
  25. /*************************************************************************/
  26. /***** *****/
  27. /***** TYPE1 STANDARD (AND EXPERT) ENCODING CMAPS *****/
  28. /***** *****/
  29. /*************************************************************************/
  30. /*************************************************************************/
  31. /* standard (and expert) encoding cmaps */
  32. typedef struct T1_CMapStdRec_* T1_CMapStd;
  33. typedef struct T1_CMapStdRec_
  34. {
  35. FT_CMapRec cmap;
  36. const FT_UShort* code_to_sid;
  37. PS_Adobe_Std_Strings_Func sid_to_string;
  38. FT_UInt num_glyphs;
  39. const char* const* glyph_names;
  40. } T1_CMapStdRec;
  41. FT_CALLBACK_TABLE const FT_CMap_ClassRec
  42. t1_cmap_standard_class_rec;
  43. FT_CALLBACK_TABLE const FT_CMap_ClassRec
  44. t1_cmap_expert_class_rec;
  45. /*************************************************************************/
  46. /*************************************************************************/
  47. /***** *****/
  48. /***** TYPE1 CUSTOM ENCODING CMAP *****/
  49. /***** *****/
  50. /*************************************************************************/
  51. /*************************************************************************/
  52. typedef struct T1_CMapCustomRec_* T1_CMapCustom;
  53. typedef struct T1_CMapCustomRec_
  54. {
  55. FT_CMapRec cmap;
  56. FT_UInt first;
  57. FT_UInt count;
  58. FT_UShort* indices;
  59. } T1_CMapCustomRec;
  60. FT_CALLBACK_TABLE const FT_CMap_ClassRec
  61. t1_cmap_custom_class_rec;
  62. /*************************************************************************/
  63. /*************************************************************************/
  64. /***** *****/
  65. /***** TYPE1 SYNTHETIC UNICODE ENCODING CMAP *****/
  66. /***** *****/
  67. /*************************************************************************/
  68. /*************************************************************************/
  69. /* unicode (syntehtic) cmaps */
  70. typedef struct T1_CMapUnicodeRec_* T1_CMapUnicode;
  71. typedef struct T1_CMapUniPairRec_
  72. {
  73. FT_UInt32 unicode;
  74. FT_UInt gindex;
  75. } T1_CMapUniPairRec, *T1_CMapUniPair;
  76. typedef struct T1_CMapUnicodeRec_
  77. {
  78. FT_CMapRec cmap;
  79. FT_UInt num_pairs;
  80. T1_CMapUniPair pairs;
  81. } T1_CMapUnicodeRec;
  82. FT_CALLBACK_TABLE const FT_CMap_ClassRec
  83. t1_cmap_unicode_class_rec;
  84. /* */
  85. FT_END_HEADER
  86. #endif /* __T1CMAP_H__ */
  87. /* END */