UNPKG

devexpress-richedit

Version:

DevExpress Rich Text Editor is an advanced word-processing tool designed for working with rich text documents.

40 lines (39 loc) 2 kB
import { CodePages } from '../encoding/code-pages'; import { HangulDecoderHelper } from './hangul949-decoder-helper'; import { DecoderBase } from './decoder-base'; import { GB2315DecoderHelper } from './gb2315-decoder-helper'; import { RussianDecoder } from './russian-decoder'; import { windows1250specifiedSymbols, windows1252specifiedSymbols, windows1253specifiedSymbols, windows1254specifiedSymbols, windows1255specifiedSymbols, windows1256specifiedSymbols, windows1257specifiedSymbols, windows1258specifiedSymbols } from './specified-symbols'; export class DecoderHelper { static decode(str, codePage) { switch (codePage) { case CodePages.Russian: return RussianDecoder.decode(str); case CodePages.default: return DecoderBase.decode(str, windows1250specifiedSymbols); case CodePages.Ansi: return DecoderBase.decode(str, windows1252specifiedSymbols); case CodePages.Greek: return DecoderBase.decode(str, windows1253specifiedSymbols); case CodePages.Turkis: return DecoderBase.decode(str, windows1254specifiedSymbols); case CodePages.Hebrew: return DecoderBase.decode(str, windows1255specifiedSymbols); case CodePages.Arabic: return DecoderBase.decode(str, windows1256specifiedSymbols); case CodePages.Baltic: return DecoderBase.decode(str, windows1257specifiedSymbols); case CodePages.Vietnamese: return DecoderBase.decode(str, windows1258specifiedSymbols); default: return str; } } static getChars(bytes, codePage) { if (codePage == CodePages.GB2315) return GB2315DecoderHelper.getChars(bytes); else if (codePage == CodePages.Hangul) return HangulDecoderHelper.getChars(bytes); return bytes; } }