| /***************************************************************************/ |
| /* */ |
| /* cffload.h */ |
| /* */ |
| /* OpenType & CFF data/program tables loader (specification). */ |
| /* */ |
| /* Copyright 1996-2001 by */ |
| /* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
| /* */ |
| /* This file is part of the FreeType project, and may only be used, */ |
| /* modified, and distributed under the terms of the FreeType project */ |
| /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ |
| /* this file you indicate that you have read the license and */ |
| /* understand and accept it fully. */ |
| /* */ |
| /***************************************************************************/ |
| |
| |
| #ifndef __CFFLOAD_H__ |
| #define __CFFLOAD_H__ |
| |
| |
| #include <ft2build.h> |
| #include FT_INTERNAL_CFF_TYPES_H |
| #include FT_INTERNAL_POSTSCRIPT_NAMES_H |
| |
| |
| FT_BEGIN_HEADER |
| |
| const FT_UShort cff_isoadobe_charset[229] = |
| { |
| 0, |
| 1, |
| 2, |
| 3, |
| 4, |
| 5, |
| 6, |
| 7, |
| 8, |
| 9, |
| 10, |
| 11, |
| 12, |
| 13, |
| 14, |
| 15, |
| 16, |
| 17, |
| 18, |
| 19, |
| 20, |
| 21, |
| 22, |
| 23, |
| 24, |
| 25, |
| 26, |
| 27, |
| 28, |
| 29, |
| 30, |
| 31, |
| 32, |
| 33, |
| 34, |
| 35, |
| 36, |
| 37, |
| 38, |
| 39, |
| 40, |
| 41, |
| 42, |
| 43, |
| 44, |
| 45, |
| 46, |
| 47, |
| 48, |
| 49, |
| 50, |
| 51, |
| 52, |
| 53, |
| 54, |
| 55, |
| 56, |
| 57, |
| 58, |
| 59, |
| 60, |
| 61, |
| 62, |
| 63, |
| 64, |
| 65, |
| 66, |
| 67, |
| 68, |
| 69, |
| 70, |
| 71, |
| 72, |
| 73, |
| 74, |
| 75, |
| 76, |
| 77, |
| 78, |
| 79, |
| 80, |
| 81, |
| 82, |
| 83, |
| 84, |
| 85, |
| 86, |
| 87, |
| 88, |
| 89, |
| 90, |
| 91, |
| 92, |
| 93, |
| 94, |
| 95, |
| 96, |
| 97, |
| 98, |
| 99, |
| 100, |
| 101, |
| 102, |
| 103, |
| 104, |
| 105, |
| 106, |
| 107, |
| 108, |
| 109, |
| 110, |
| 111, |
| 112, |
| 113, |
| 114, |
| 115, |
| 116, |
| 117, |
| 118, |
| 119, |
| 120, |
| 121, |
| 122, |
| 123, |
| 124, |
| 125, |
| 126, |
| 127, |
| 128, |
| 129, |
| 130, |
| 131, |
| 132, |
| 133, |
| 134, |
| 135, |
| 136, |
| 137, |
| 138, |
| 139, |
| 140, |
| 141, |
| 142, |
| 143, |
| 144, |
| 145, |
| 146, |
| 147, |
| 148, |
| 149, |
| 150, |
| 151, |
| 152, |
| 153, |
| 154, |
| 155, |
| 156, |
| 157, |
| 158, |
| 159, |
| 160, |
| 161, |
| 162, |
| 163, |
| 164, |
| 165, |
| 166, |
| 167, |
| 168, |
| 169, |
| 170, |
| 171, |
| 172, |
| 173, |
| 174, |
| 175, |
| 176, |
| 177, |
| 178, |
| 179, |
| 180, |
| 181, |
| 182, |
| 183, |
| 184, |
| 185, |
| 186, |
| 187, |
| 188, |
| 189, |
| 190, |
| 191, |
| 192, |
| 193, |
| 194, |
| 195, |
| 196, |
| 197, |
| 198, |
| 199, |
| 200, |
| 201, |
| 202, |
| 203, |
| 204, |
| 205, |
| 206, |
| 207, |
| 208, |
| 209, |
| 210, |
| 211, |
| 212, |
| 213, |
| 214, |
| 215, |
| 216, |
| 217, |
| 218, |
| 219, |
| 220, |
| 221, |
| 222, |
| 223, |
| 224, |
| 225, |
| 226, |
| 227, |
| 228 |
| }; |
| |
| const FT_UShort cff_expert_charset[166] = |
| { |
| 0, |
| 1, |
| 229, |
| 230, |
| 231, |
| 232, |
| 233, |
| 234, |
| 235, |
| 236, |
| 237, |
| 238, |
| 13, |
| 14, |
| 15, |
| 99, |
| 239, |
| 240, |
| 241, |
| 242, |
| 243, |
| 244, |
| 245, |
| 246, |
| 247, |
| 248, |
| 27, |
| 28, |
| 249, |
| 250, |
| 251, |
| 252, |
| 253, |
| 254, |
| 255, |
| 256, |
| 257, |
| 258, |
| 259, |
| 260, |
| 261, |
| 262, |
| 263, |
| 264, |
| 265, |
| 266, |
| 109, |
| 110, |
| 267, |
| 268, |
| 269, |
| 270, |
| 271, |
| 272, |
| 273, |
| 274, |
| 275, |
| 276, |
| 277, |
| 278, |
| 279, |
| 280, |
| 281, |
| 282, |
| 283, |
| 284, |
| 285, |
| 286, |
| 287, |
| 288, |
| 289, |
| 290, |
| 291, |
| 292, |
| 293, |
| 294, |
| 295, |
| 296, |
| 297, |
| 298, |
| 299, |
| 300, |
| 301, |
| 302, |
| 303, |
| 304, |
| 305, |
| 306, |
| 307, |
| 308, |
| 309, |
| 310, |
| 311, |
| 312, |
| 313, |
| 314, |
| 315, |
| 316, |
| 317, |
| 318, |
| 158, |
| 155, |
| 163, |
| 319, |
| 320, |
| 321, |
| 322, |
| 323, |
| 324, |
| 325, |
| 326, |
| 150, |
| 164, |
| 169, |
| 327, |
| 328, |
| 329, |
| 330, |
| 331, |
| 332, |
| 333, |
| 334, |
| 335, |
| 336, |
| 337, |
| 338, |
| 339, |
| 340, |
| 341, |
| 342, |
| 343, |
| 344, |
| 345, |
| 346, |
| 347, |
| 348, |
| 349, |
| 350, |
| 351, |
| 352, |
| 353, |
| 354, |
| 355, |
| 356, |
| 357, |
| 358, |
| 359, |
| 360, |
| 361, |
| 362, |
| 363, |
| 364, |
| 365, |
| 366, |
| 367, |
| 368, |
| 369, |
| 370, |
| 371, |
| 372, |
| 373, |
| 374, |
| 375, |
| 376, |
| 377, |
| 378 |
| }; |
| |
| const FT_UShort cff_expertsubset_charset[87] = |
| { |
| 0, |
| 1, |
| 231, |
| 232, |
| 235, |
| 236, |
| 237, |
| 238, |
| 13, |
| 14, |
| 15, |
| 99, |
| 239, |
| 240, |
| 241, |
| 242, |
| 243, |
| 244, |
| 245, |
| 246, |
| 247, |
| 248, |
| 27, |
| 28, |
| 249, |
| 250, |
| 251, |
| 253, |
| 254, |
| 255, |
| 256, |
| 257, |
| 258, |
| 259, |
| 260, |
| 261, |
| 262, |
| 263, |
| 264, |
| 265, |
| 266, |
| 109, |
| 110, |
| 267, |
| 268, |
| 269, |
| 270, |
| 272, |
| 300, |
| 301, |
| 302, |
| 305, |
| 314, |
| 315, |
| 158, |
| 155, |
| 163, |
| 320, |
| 321, |
| 322, |
| 323, |
| 324, |
| 325, |
| 326, |
| 150, |
| 164, |
| 169, |
| 327, |
| 328, |
| 329, |
| 330, |
| 331, |
| 332, |
| 333, |
| 334, |
| 335, |
| 336, |
| 337, |
| 338, |
| 339, |
| 340, |
| 341, |
| 342, |
| 343, |
| 344, |
| 345, |
| 346 |
| }; |
| |
| const FT_UShort cff_standard_encoding[256] = |
| { |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 1, |
| 2, |
| 3, |
| 4, |
| 5, |
| 6, |
| 7, |
| 8, |
| 9, |
| 10, |
| 11, |
| 12, |
| 13, |
| 14, |
| 15, |
| 16, |
| 17, |
| 18, |
| 19, |
| 20, |
| 21, |
| 22, |
| 23, |
| 24, |
| 25, |
| 26, |
| 27, |
| 28, |
| 29, |
| 30, |
| 31, |
| 32, |
| 33, |
| 34, |
| 35, |
| 36, |
| 37, |
| 38, |
| 39, |
| 40, |
| 41, |
| 42, |
| 43, |
| 44, |
| 45, |
| 46, |
| 47, |
| 48, |
| 49, |
| 50, |
| 51, |
| 52, |
| 53, |
| 54, |
| 55, |
| 56, |
| 57, |
| 58, |
| 59, |
| 60, |
| 61, |
| 62, |
| 63, |
| 64, |
| 65, |
| 66, |
| 67, |
| 68, |
| 69, |
| 70, |
| 71, |
| 72, |
| 73, |
| 74, |
| 75, |
| 76, |
| 77, |
| 78, |
| 79, |
| 80, |
| 81, |
| 82, |
| 83, |
| 84, |
| 85, |
| 86, |
| 87, |
| 88, |
| 89, |
| 90, |
| 91, |
| 92, |
| 93, |
| 94, |
| 95, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 96, |
| 97, |
| 98, |
| 99, |
| 100, |
| 101, |
| 102, |
| 103, |
| 104, |
| 105, |
| 106, |
| 107, |
| 108, |
| 109, |
| 110, |
| 0, |
| 111, |
| 112, |
| 113, |
| 114, |
| 0, |
| 115, |
| 116, |
| 117, |
| 118, |
| 119, |
| 120, |
| 121, |
| 122, |
| 0, |
| 123, |
| 0, |
| 124, |
| 125, |
| 126, |
| 127, |
| 128, |
| 129, |
| 130, |
| 131, |
| 0, |
| 132, |
| 133, |
| 0, |
| 134, |
| 135, |
| 136, |
| 137, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 138, |
| 0, |
| 139, |
| 0, |
| 0, |
| 0, |
| 0, |
| 140, |
| 141, |
| 142, |
| 143, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 144, |
| 0, |
| 0, |
| 0, |
| 145, |
| 0, |
| 0, |
| 146, |
| 147, |
| 148, |
| 149, |
| 0, |
| 0, |
| 0, |
| 0 |
| }; |
| |
| const FT_UShort cff_expert_encoding[256] = |
| { |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 1, |
| 229, |
| 230, |
| 0, |
| 231, |
| 232, |
| 233, |
| 234, |
| 235, |
| 236, |
| 237, |
| 238, |
| 13, |
| 14, |
| 15, |
| 99, |
| 239, |
| 240, |
| 241, |
| 242, |
| 243, |
| 244, |
| 245, |
| 246, |
| 247, |
| 248, |
| 27, |
| 28, |
| 249, |
| 250, |
| 251, |
| 252, |
| 0, |
| 253, |
| 254, |
| 255, |
| 256, |
| 257, |
| 0, |
| 0, |
| 0, |
| 258, |
| 0, |
| 0, |
| 259, |
| 260, |
| 261, |
| 262, |
| 0, |
| 0, |
| 263, |
| 264, |
| 265, |
| 0, |
| 266, |
| 109, |
| 110, |
| 267, |
| 268, |
| 269, |
| 0, |
| 270, |
| 271, |
| 272, |
| 273, |
| 274, |
| 275, |
| 276, |
| 277, |
| 278, |
| 279, |
| 280, |
| 281, |
| 282, |
| 283, |
| 284, |
| 285, |
| 286, |
| 287, |
| 288, |
| 289, |
| 290, |
| 291, |
| 292, |
| 293, |
| 294, |
| 295, |
| 296, |
| 297, |
| 298, |
| 299, |
| 300, |
| 301, |
| 302, |
| 303, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| 304, |
| 305, |
| 306, |
| 0, |
| 0, |
| 307, |
| 308, |
| 309, |
| 310, |
| 311, |
| 0, |
| 312, |
| 0, |
| 0, |
| 312, |
| 0, |
| 0, |
| 314, |
| 315, |
| 0, |
| 0, |
| 316, |
| 317, |
| 318, |
| 0, |
| 0, |
| 0, |
| 158, |
| 155, |
| 163, |
| 319, |
| 320, |
| 321, |
| 322, |
| 323, |
| 324, |
| 325, |
| 0, |
| 0, |
| 326, |
| 150, |
| 164, |
| 169, |
| 327, |
| 328, |
| 329, |
| 330, |
| 331, |
| 332, |
| 333, |
| 334, |
| 335, |
| 336, |
| 337, |
| 338, |
| 339, |
| 340, |
| 341, |
| 342, |
| 343, |
| 344, |
| 345, |
| 346, |
| 347, |
| 348, |
| 349, |
| 350, |
| 351, |
| 352, |
| 353, |
| 354, |
| 355, |
| 356, |
| 357, |
| 358, |
| 359, |
| 360, |
| 361, |
| 362, |
| 363, |
| 364, |
| 365, |
| 366, |
| 367, |
| 368, |
| 369, |
| 370, |
| 371, |
| 372, |
| 373, |
| 374, |
| 375, |
| 376, |
| 377, |
| 378 |
| }; |
| |
| |
| FT_LOCAL FT_String* |
| CFF_Get_Name( CFF_Index* index, |
| FT_UInt element ); |
| |
| FT_LOCAL FT_String* |
| CFF_Get_String( CFF_Index* index, |
| FT_UInt sid, |
| PSNames_Interface* interface ); |
| |
| |
| FT_LOCAL FT_Error |
| CFF_Access_Element( CFF_Index* index, |
| FT_UInt element, |
| FT_Byte** pbytes, |
| FT_ULong* pbyte_len ); |
| |
| FT_LOCAL void |
| CFF_Forget_Element( CFF_Index* index, |
| FT_Byte** pbytes ); |
| |
| |
| FT_LOCAL FT_Error |
| CFF_Load_Font( FT_Stream stream, |
| FT_Int face_index, |
| CFF_Font* font ); |
| |
| FT_LOCAL void |
| CFF_Done_Font( CFF_Font* font ); |
| |
| |
| FT_LOCAL FT_Byte |
| CFF_Get_FD( CFF_FD_Select* select, |
| FT_UInt glyph_index ); |
| |
| |
| FT_END_HEADER |
| |
| #endif /* __CFFLOAD_H__ */ |
| |
| |
| /* END */ |