
using System;
using System.Globalization;
using System.Threading;

namespace WinRT.BxlComponent.Plugin.BxlMpXamarinSDK.Abstractions
{
    internal enum MPosLabelCodePage
    {
        // 태국어(4), 베트남어(4), 아랍어(2) / Farsi 유의
        MPOS_CODEPAGE_CP437 = 437,	//0
        MPOS_CODEPAGE_CP850 = 850,  //1    // OEM Multilingual Latin 1; Western European (DOS)
        MPOS_CODEPAGE_CP852 = 852,	//2    // OEM Latin 2; Central European (DOS)
        MPOS_CODEPAGE_CP860 = 860,	//3    // OEM Portuguese; Portuguese (DOS)
        MPOS_CODEPAGE_CP863 = 863,	//4    // OEM French Canadian; French Canadian (DOS)
        MPOS_CODEPAGE_CP865 = 865,	//5    // OEM Nordic; Nordic (DOS)
        MPOS_CODEPAGE_WPC1252 = 1252, //6    // ANSI Latin 1; Western European (Windows)

        MPOS_CODEPAGE_CP857 = 857,  //8    // OEM Turkish; Turkish (DOS)
        MPOS_CODEPAGE_CP737 = 737,  //9    // OEM Greek (formerly 437G); Greek (DOS) 
        MPOS_CODEPAGE_WPC1250 = 1250, //10   // ANSI Central European; Central European (Windows)// MPOS_CODEPAGE_CP1250 ??
        MPOS_CODEPAGE_WPC1253 = 1253,	//11   // ANSI Greek; Greek (Windows)
        MPOS_CODEPAGE_WPC1254 = 1254, //12   // ANSI Turkish; Turkish (Windows)

        MPOS_CODEPAGE_CP855 = 855,  //13    // OEM Cyrillic (primarily Russian)
        MPOS_CODEPAGE_CP862 = 862,	//14    // OEM Hebrew; Hebrew (DOS)
        MPOS_CODEPAGE_CP866 = 866,  //15    // OEM Russian; Cyrillic (DOS)
        MPOS_CODEPAGE_WPC1251 = 1251, //16    // ANSI Cyrillic; Cyrillic (Windows) 
        MPOS_CODEPAGE_WPC1255 = 1255, //17    // ANSI Hebrew; Hebrew (Windows) 
        MPOS_CODEPAGE_CP928 = 928,  //18    // Greek
        MPOS_CODEPAGE_CP864 = 864,  //19    // OEM Arabic; Arabic (864)
        MPOS_CODEPAGE_CP775 = 775,  //20    // OEM Baltic; Baltic (DOS) 
        MPOS_CODEPAGE_WPC1257 = 1257,	//21    // ANSI Baltic; Baltic (Windows)
        MPOS_CODEPAGE_CP858 = 858,	//22    // OEM Multilingual Latin 1 + Euro symbol

        MPOS_CODEPAGE_CHINA_GB2312 = 936,	//N/A   // Chinese2312
        MPOS_CODEPAGE_CHINA_BIG5 = 950,	//N/A   // Chinese BIG5
        MPOS_CODEPAGE_KOREA_KS5601 = 949,	//N/A   // Korean KS5601
        MPOS_CODEPAGE_JAPAN_SHIFTJIS = 932,	//N/A   // Japan Shift JIS 
    }

    internal enum MPosLabelBitmapFont
    {
        MPOS_LABEL_DEVICE_FONT_6PT = '0',  // 9 X 15 (dots)
        MPOS_LABEL_DEVICE_FONT_8PT = '1',   // 12 X 20 (dots)
        MPOS_LABEL_DEVICE_FONT_10PT = '2',  // 16 X 25 (dots)
        MPOS_LABEL_DEVICE_FONT_12PT = '3',  // 19 X 30 (dots)
        MPOS_LABEL_DEVICE_FONT_15PT = '4',  // 24 X 38 (dots)
        MPOS_LABEL_DEVICE_FONT_20PT = '5',  // 32 X 40 (dots)
        MPOS_LABEL_DEVICE_FONT_30PT = '6',  // 48 X 76 (dots)
        MPOS_LABEL_DEVICE_FONT_14PT = '7',  // 22 X 34 (dots)
        MPOS_LABEL_DEVICE_FONT_18PT = '8',  // 28 X 44 (dots)
        MPOS_LABEL_DEVICE_FONT_24PT = '9',  // 37 X 58 (dots)
        MPOS_LABEL_DEVICE_FONT_KOREAN1 = 'a',   // 16 X 16 (dots) (영.숫자 9 X 15)
        MPOS_LABEL_DEVICE_FONT_KOREAN2 = 'b',   // 24 X 24 (dots) (영.숫자12 X 24)
        MPOS_LABEL_DEVICE_FONT_KOREAN3 = 'c',   // 20 X 20 (dots) (영.숫자12 X 20)
        MPOS_LABEL_DEVICE_FONT_KOREAN4 = 'd',   // 26 X 26 (dots) (영.숫자16 X 30)
        MPOS_LABEL_DEVICE_FONT_KOREAN5 = 'e',   // 20 X 26 (dots) (영.숫자16 X 30)
        MPOS_LABEL_DEVICE_FONT_KOREAN6 = 'f',   // 38 X 38 (dots) (영.숫자22 X 34)
        MPOS_LABEL_DEVICE_FONT_GB2312 = 'm',  // 24 X 24 (dots) (영.숫자12 X 24)
        MPOS_LABEL_DEVICE_FONT_BIG5 = 'n',  // 24 X 24 (dots) (영.숫자12 X 24)
        MPOS_LABEL_DEVICE_FONT_SHIFT_JIS = 'j'   // 24 X 24 (dots) (영.숫자12 X 24)
    }

    internal enum MPosLabelVectorFont
    {
        MPOS_LABEL_VECTOR_FONT_ASCII = 'U',
        MPOS_LABEL_VECTOR_FONT_KS5601 = 'K',
        MPOS_LABEL_VECTOR_FONT_BIG5 = 'B',
        MPOS_LABEL_VECTOR_FONT_GB2312 = 'G',
        MPOS_LABEL_VECTOR_FONT_SHIFT_JIS = 'J',
        MPOS_LABEL_VECTOR_FONT_OCR_A = 'a',
        MPOS_LABEL_VECTOR_FONT_OCR_B = 'b',
    }
}