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
JavaScript
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;
}
}