Skip to main content

ferroui_base/media/fonts/tables/cmap/
cmap_encoding.rs

1/// Encoding IDs. The meaning depends on the platform; common values are listed here.
2///
3/// Several names share a value (one per platform), so this is a value type
4/// with associated constants.
5#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, Default)]
6pub struct CmapEncoding(pub u16);
7
8#[allow(non_upper_case_globals)]
9impl CmapEncoding {
10    // Unicode platform encodings
11    pub const Unicode_1_0: CmapEncoding = CmapEncoding(0);
12    pub const Unicode_1_1: CmapEncoding = CmapEncoding(1);
13    pub const Unicode_ISO_10646: CmapEncoding = CmapEncoding(2);
14    pub const Unicode_2_0_BMP: CmapEncoding = CmapEncoding(3);
15    pub const Unicode_2_0_full: CmapEncoding = CmapEncoding(4);
16
17    // Macintosh encodings (selected)
18    pub const Macintosh_Roman: CmapEncoding = CmapEncoding(0);
19    pub const Macintosh_Japanese: CmapEncoding = CmapEncoding(1);
20    pub const Macintosh_ChineseTraditional: CmapEncoding = CmapEncoding(2);
21    pub const Macintosh_Korean: CmapEncoding = CmapEncoding(3);
22    pub const Macintosh_Arabic: CmapEncoding = CmapEncoding(4);
23    pub const Macintosh_Hebrew: CmapEncoding = CmapEncoding(5);
24    pub const Macintosh_Greek: CmapEncoding = CmapEncoding(6);
25    pub const Macintosh_Russian: CmapEncoding = CmapEncoding(7);
26    pub const Macintosh_RSymbol: CmapEncoding = CmapEncoding(8);
27
28    // Microsoft encodings
29    pub const Microsoft_Symbol: CmapEncoding = CmapEncoding(0);
30    /// UCS-2 / UTF-16 (BMP).
31    pub const Microsoft_UnicodeBMP: CmapEncoding = CmapEncoding(1);
32    pub const Microsoft_ShiftJIS: CmapEncoding = CmapEncoding(2);
33    pub const Microsoft_PRChina: CmapEncoding = CmapEncoding(3);
34    pub const Microsoft_Big5: CmapEncoding = CmapEncoding(4);
35    pub const Microsoft_Wansung: CmapEncoding = CmapEncoding(5);
36    pub const Microsoft_Johab: CmapEncoding = CmapEncoding(6);
37    /// UTF-32 (format 12).
38    pub const Microsoft_UCS4: CmapEncoding = CmapEncoding(10);
39}
40
41impl From<u16> for CmapEncoding {
42    #[inline]
43    fn from(value: u16) -> Self {
44        CmapEncoding(value)
45    }
46}