Skip to content

Instantly share code, notes, and snippets.

@CarsonSlovoka
Created November 18, 2025 09:46
Show Gist options
  • Select an option

  • Save CarsonSlovoka/66716c73de5644cee666afd9c8931110 to your computer and use it in GitHub Desktop.

Select an option

Save CarsonSlovoka/66716c73de5644cee666afd9c8931110 to your computer and use it in GitHub Desktop.
os2 codepage
package os2
import "fmt"
type CodePage struct {
Bit uint8
Value int32
Desc string
}
func (cp *CodePage) String() string {
return fmt.Sprintf("%d,%d,%s", cp.Bit, cp.Value, cp.Desc)
}
// CodePages https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ulcodepagerange1-bits-031ulcodepagerange2-bits-3263
var CodePages = []*CodePage{
{0, 1252, "Latin 1"},
{1, 1250, "Latin 2: Eastern Europe"},
{2, 1251, "Cyrillic"},
{3, 1253, "Greek"},
{4, 1254, "Turkish"},
{5, 1255, "Hebrew"},
{6, 1256, "Arabic"},
{7, 1257, "Windows Baltic"},
{8, 1258, "Vietnamese"},
{9, -9, "Reserved for Alternate ANSI"},
{10, -10, "Reserved for Alternate ANSI"},
{11, -11, "Reserved for Alternate ANSI"},
{12, -12, "Reserved for Alternate ANSI"},
{13, -13, "Reserved for Alternate ANSI"},
{14, -14, "Reserved for Alternate ANSI"},
{15, -15, "Reserved for Alternate ANSI"},
{16, 874, "Thai"},
{17, 932, "JIS/Japan"},
{18, 936, "Chinese: Simplified chars—PRC and Singapore"},
{19, 949, "Korean Wansung"},
{20, 950, "Chinese: Traditional chars—Taiwan and Hong Kong SAR"},
{21, 1361, "Korean Johab"},
{22, -22, "Reserved for Alternate ANSI or OEM"},
{23, -23, "Reserved for Alternate ANSI or OEM"},
{24, -24, "Reserved for Alternate ANSI or OEM"},
{25, -25, "Reserved for Alternate ANSI or OEM"},
{26, -26, "Reserved for Alternate ANSI or OEM"},
{27, -27, "Reserved for Alternate ANSI or OEM"},
{28, -28, "Reserved for Alternate ANSI or OEM"},
{29, -29, "Macintosh Character Set (US Roman)"},
{30, -30, "OEM Character Set"},
{31, -31, "Symbol Character Set"},
{32, -32, "Reserved for OEM"},
{33, -33, "Reserved for OEM"},
{34, -34, "Reserved for OEM"},
{35, -35, "Reserved for OEM"},
{36, -36, "Reserved for OEM"},
{37, -37, "Reserved for OEM"},
{38, -38, "Reserved for OEM"},
{39, -39, "Reserved for OEM"},
{40, -40, "Reserved for OEM"},
{41, -41, "Reserved for OEM"},
{42, -42, "Reserved for OEM"},
{43, -43, "Reserved for OEM"},
{44, -44, "Reserved for OEM"},
{45, -45, "Reserved for OEM"},
{46, -46, "Reserved for OEM"},
{47, -47, "Reserved for OEM"},
{48, 869, "IBM Greek"},
{49, 866, "MS-DOS Russian"},
{50, 865, "MS-DOS Nordic"}, // 北歐
{51, 864, "Arabic"},
{52, 863, "MS-DOS Canadian French"},
{53, 862, "Hebrew"},
{54, 861, "MS-DOS Icelandic"},
{55, 860, "MS-DOS Portuguese"}, // 葡萄牙語
{56, 857, "IBM Turkish"},
{57, 855, "IBM Cyrillic; primarily Russian"},
{58, 852, "Latin 2"},
{59, 775, "MS-DOS Baltic"},
{60, 737, "Greek; former 437 G"},
{61, 708, "Arabic; ASMO 708"},
{62, 850, "WE/Latin 1"},
{63, 437, "US"},
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment