ttf_name_decoder/
windows.rs1use crate::macros::generate_id_table;
2use crate::{decoders, Decoder, Error, Result};
3
4pub fn get_decoder(encoding_id: u16) -> Result<Decoder> {
5 match EncodingId::try_from(encoding_id)? {
6 EncodingId::Symbol => Err(Error::UnsupportedEncoding),
7 EncodingId::UnicodeBMP => Ok(decoders::utf16_be_decode),
8 EncodingId::ShiftJIS => Ok(decoders::shift_jis_decode),
9 EncodingId::PRC => Ok(decoders::gb18030_decode),
10 EncodingId::Big5 => Ok(decoders::big5_decode),
11 EncodingId::Wansung => Err(Error::UnsupportedEncoding),
12 EncodingId::Johab => Err(Error::UnsupportedEncoding),
13 EncodingId::UnicodeFull => Ok(decoders::utf16_be_decode),
14 }
15}
16
17generate_id_table! (EncodingId, Error::UnsupportedEncoding, {
19 Symbol: 0,
20 UnicodeBMP: 1,
21 ShiftJIS: 2,
22 PRC: 3,
23 Big5: 4,
24 Wansung: 5,
25 Johab: 6,
26 UnicodeFull: 10,
27});