js-codepage/misc/README.md.utf7
SheetJS 7745bcfc53 version bump 1.6.0: IE6+ compatibility
- removed string indexing from table generation
- browser tests
- expanded flow checks
2016-10-15 02:17:29 -04:00

345 lines
23 KiB
Plaintext

+ACM js-codepage
+AFs-Codepages+AF0(https://en.wikipedia.org/wiki/Codepage) are character encodings. In
many contexts, single- or double-byte character sets are used in lieu of Unicode
encodings. The codepages map between characters and numbers.
+ACMAIw Setup
In node:
+AGAAYABg-js
var cptable +AD0 require('codepage')+ADs
+AGAAYABg
In the browser:
+AGAAYABg-html
+ADw-script src+AD0AIg-cptable.js+ACIAPgA8-/script+AD4
+ADw-script src+AD0AIg-cputils.js+ACIAPgA8-/script+AD4
+AGAAYABg
Alternatively, use the full version in the dist folder:
+AGAAYABg-html
+ADw-script src+AD0AIg-cptable.full.js+ACIAPgA8-/script+AD4
+AGAAYABg
The complete set of codepages is large due to some Double Byte Character Set
encodings. A much smaller file that just includes SBCS codepages is provided in
this repo (+AGA-sbcs.js+AGA), as well as a file for other projects (+AGA-cpexcel.js+AGA)
If you know which codepages you need, you can include individual scripts for
each codepage. The individual files are provided in the +AGA-bits/+AGA directory.
For example, to include only the Mac codepages:
+AGAAYABg-html
+ADw-script src+AD0AIg-bits/10000.js+ACIAPgA8-/script+AD4
+ADw-script src+AD0AIg-bits/10006.js+ACIAPgA8-/script+AD4
+ADw-script src+AD0AIg-bits/10007.js+ACIAPgA8-/script+AD4
+ADw-script src+AD0AIg-bits/10029.js+ACIAPgA8-/script+AD4
+ADw-script src+AD0AIg-bits/10079.js+ACIAPgA8-/script+AD4
+ADw-script src+AD0AIg-bits/10081.js+ACIAPgA8-/script+AD4
+AGAAYABg
All of the browser scripts define and append to the +AGA-cptable+AGA object. To rename
the object, edit the +AGA-JSVAR+AGA shell variable in +AGA-make.sh+AGA and run the script.
The utilities functions are contained in +AGA-cputils.js+AGA, which assumes that the
appropriate codepage scripts were loaded.
+ACMAIw Usage
Most codepages are indexed by number. To get the unicode character for a given
codepoint, use the +AGA-dec+AGA property:
+AGAAYABg-js
var unicode+AF8-cp10000+AF8-255 +AD0 cptable+AFs-10000+AF0.dec+AFs-255+AF0AOw // +Asc
+AGAAYABg
To get the codepoint for a given character, use the +AGA-enc+AGA property:
+AGAAYABg-js
var cp10000+AF8-711 +AD0 cptable+AFs-10000+AF0.enc+AFs-String.fromCharCode(711)+AF0AOw // 255
+AGAAYABg
There are a few utilities that deal with strings and buffers:
+AGAAYABg-js
var +bEdgOw +AD0 cptable.utils.decode(936, +AFs-0xbb,0xe3,0xd7,0xdc+AF0)+ADs
var buf +AD0 cptable.utils.encode(936, +bEdgOw)+ADs
var sushi+AD0 cptable.utils.decode(65001, +AFs-0xf0,0x9f,0x8d,0xa3+AF0)+ADs // +2DzfYw
var sbuf +AD0 cptable.utils.encode(65001, sushi)+ADs
+AGAAYABg
+AGA-cptable.utils.encode(CP, data, ofmt)+AGA accepts a String or Array of characters
and returns a representation controlled by +AGA-ofmt+AGA:
- Default output is a Buffer (or Array) of bytes (integers between 0 and 255).
- If +AGA-ofmt +AD0APQ 'str'+AGA, return a String where +AGA-o.charCodeAt(i)+AGA is the +AGA-i+AGA--th byte
- If +AGA-ofmt +AD0APQ 'arr'+AGA, return an Array of bytes
+AGA-cptable.utils.decode(CP, data)+AGA accepts a byte String or Array of numbers or
Buffer and returns a JS string.
+ACMAIw Known Excel Codepages
A much smaller script, including only the codepages known to be used in Excel,
is available under the name +AGA-cpexcel+AGA. It exposes the same variable +AGA-cptable+AGA
and is suitable as a drop-in replacement when the full codepage tables are not
needed.
In node:
+AGAAYABg-js
var cptable +AD0 require('codepage/dist/cpexcel.full')+ADs
+AGAAYABg
+ACMAIw Rolling your own script
The +AGA-make.sh+AGA script in the repo can take a manifest and generate JS source.
Usage:
+AGAAYABg-bash
+ACQ bash make.sh path+AF8-to+AF8-manifest output+AF8-file+AF8-name JSVAR
+AGAAYABg
where
- +AGA-JSVAR+AGA is the name of the exported variable (generally +AGA-cptable+AGA)
- +AGA-output+AF8-file+AF8-name+AGA is the output file (e.g. +AGA-cpexcel.js+AGA, +AGA-cptable.js+AGA)
- +AGA-path+AF8-to+AF8-manifest+AGA is the path to the manifest file.
The manifest file is expected to be a CSV with 3 columns:
+AGAAYABg
+ADw-codepage number+AD4,+ADw-source+AD4,+ADw-size+AD4
+AGAAYABg
If a source is specified, it will try to download the specified file and parse.
The file format is expected to follow the format from the unicode.org site.
The size should be +AGA-1+AGA for a single-byte codepage and +AGA-2+AGA for a double-byte
codepage. For mixed codepages (which use some single- and some double-byte
codes), the script assumes the mapping is a prefix code and generates efficient
JS code.
Generated scripts only include the mapping. +AGA-cat+AGA a mapping with +AGA-cputils.js+AGA
to produce a complete script like +AGA-cpexcel.full.js+AGA.
+ACMAIw Building the complete script
This script uses +AFs-voc+AF0(npm.im/voc). The script to build the codepage tables and
the JS source is +AGA-codepage.md+AGA, so building is as simple as +AGA-voc codepage.md+AGA.
+ACMAIw Generated Codepages
The complete list of hardcoded codepages can be found in the file +AGA-pages.csv+AGA.
Some codepages are easier to implement algorithmically. Since these are
hardcoded in +AGA-utils+AGA, there is no corresponding entry (they are +ACI-magic+ACI).
+AHw CP+ACM +AHw Source +AHw Description +AHw
+AHw---------:+AHw:-----------:+AHw:-----------------------------------------------------+AHw
+AHw +AGA 37+AGA +AHw unicode.org +AHw IBM EBCDIC US-Canada +AHw
+AHw +AGA 437+AGA +AHw unicode.org +AHw OEM United States +AHw
+AHw +AGA 500+AGA +AHw unicode.org +AHw IBM EBCDIC International +AHw
+AHw +AGA 620+AGA +AHw NLS +AHw Mazovia (Polish) MS-DOS +AHw
+AHw +AGA 708+AGA +AHw Windows 7 +AHw Arabic (ASMO 708) +AHw
+AHw +AGA 720+AGA +AHw Windows 7 +AHw Arabic (Transparent ASMO)+ADs Arabic (DOS) +AHw
+AHw +AGA 737+AGA +AHw unicode.org +AHw OEM Greek (formerly 437G)+ADs Greek (DOS) +AHw
+AHw +AGA 775+AGA +AHw unicode.org +AHw OEM Baltic+ADs Baltic (DOS) +AHw
+AHw +AGA 808+AGA +AHw unicode.org +AHw OEM Russian+ADs Cyrillic +- Euro symbol +AHw
+AHw +AGA 850+AGA +AHw unicode.org +AHw OEM Multilingual Latin 1+ADs Western European (DOS) +AHw
+AHw +AGA 852+AGA +AHw unicode.org +AHw OEM Latin 2+ADs Central European (DOS) +AHw
+AHw +AGA 855+AGA +AHw unicode.org +AHw OEM Cyrillic (primarily Russian) +AHw
+AHw +AGA 857+AGA +AHw unicode.org +AHw OEM Turkish+ADs Turkish (DOS) +AHw
+AHw +AGA 858+AGA +AHw Windows 7 +AHw OEM Multilingual Latin 1 +- Euro symbol +AHw
+AHw +AGA 860+AGA +AHw unicode.org +AHw OEM Portuguese+ADs Portuguese (DOS) +AHw
+AHw +AGA 861+AGA +AHw unicode.org +AHw OEM Icelandic+ADs Icelandic (DOS) +AHw
+AHw +AGA 862+AGA +AHw unicode.org +AHw OEM Hebrew+ADs Hebrew (DOS) +AHw
+AHw +AGA 863+AGA +AHw unicode.org +AHw OEM French Canadian+ADs French Canadian (DOS) +AHw
+AHw +AGA 864+AGA +AHw unicode.org +AHw OEM Arabic+ADs Arabic (864) +AHw
+AHw +AGA 865+AGA +AHw unicode.org +AHw OEM Nordic+ADs Nordic (DOS) +AHw
+AHw +AGA 866+AGA +AHw unicode.org +AHw OEM Russian+ADs Cyrillic (DOS) +AHw
+AHw +AGA 869+AGA +AHw unicode.org +AHw OEM Modern Greek+ADs Greek, Modern (DOS) +AHw
+AHw +AGA 870+AGA +AHw Windows 7 +AHw IBM EBCDIC Multilingual/ROECE (Latin 2) +AHw
+AHw +AGA 872+AGA +AHw unicode.org +AHw OEM Cyrillic (primarily Russian) +- Euro Symbol +AHw
+AHw +AGA 874+AGA +AHw unicode.org +AHw Windows Thai +AHw
+AHw +AGA 875+AGA +AHw unicode.org +AHw IBM EBCDIC Greek Modern +AHw
+AHw +AGA 895+AGA +AHw NLS +AHw Kamenick+AP0 (Czech) MS-DOS +AHw
+AHw +AGA 932+AGA +AHw unicode.org +AHw Japanese Shift-JIS +AHw
+AHw +AGA 936+AGA +AHw unicode.org +AHw Simplified Chinese GBK +AHw
+AHw +AGA 949+AGA +AHw unicode.org +AHw Korean +AHw
+AHw +AGA 950+AGA +AHw unicode.org +AHw Traditional Chinese Big5 +AHw
+AHw +AGA 1010+AGA +AHw IBM +AHw IBM EBCDIC French +AHw
+AHw +AGA 1026+AGA +AHw unicode.org +AHw IBM EBCDIC Turkish (Latin 5) +AHw
+AHw +AGA 1047+AGA +AHw Windows 7 +AHw IBM EBCDIC Latin 1/Open System +AHw
+AHw +AGA 1132+AGA +AHw IBM +AHw IBM EBCDIC Lao (1132 / 1133 / 1341) +AHw
+AHw +AGA 1140+AGA +AHw Windows 7 +AHw IBM EBCDIC US-Canada (037 +- Euro symbol) +AHw
+AHw +AGA 1141+AGA +AHw Windows 7 +AHw IBM EBCDIC Germany (20273 +- Euro symbol) +AHw
+AHw +AGA 1142+AGA +AHw Windows 7 +AHw IBM EBCDIC Denmark-Norway (20277 +- Euro symbol) +AHw
+AHw +AGA 1143+AGA +AHw Windows 7 +AHw IBM EBCDIC Finland-Sweden (20278 +- Euro symbol) +AHw
+AHw +AGA 1144+AGA +AHw Windows 7 +AHw IBM EBCDIC Italy (20280 +- Euro symbol) +AHw
+AHw +AGA 1145+AGA +AHw Windows 7 +AHw IBM EBCDIC Latin America-Spain (20284 +- Euro symbol) +AHw
+AHw +AGA 1146+AGA +AHw Windows 7 +AHw IBM EBCDIC United Kingdom (20285 +- Euro symbol) +AHw
+AHw +AGA 1147+AGA +AHw Windows 7 +AHw IBM EBCDIC France (20297 +- Euro symbol) +AHw
+AHw +AGA 1148+AGA +AHw Windows 7 +AHw IBM EBCDIC International (500 +- Euro symbol) +AHw
+AHw +AGA 1149+AGA +AHw Windows 7 +AHw IBM EBCDIC Icelandic (20871 +- Euro symbol) +AHw
+AHw +AGA 1200+AGA +AHw magic +AHw Unicode UTF-16, little endian (BMP of ISO 10646) +AHw
+AHw +AGA 1201+AGA +AHw magic +AHw Unicode UTF-16, big endian +AHw
+AHw +AGA 1250+AGA +AHw unicode.org +AHw Windows Central Europe +AHw
+AHw +AGA 1251+AGA +AHw unicode.org +AHw Windows Cyrillic +AHw
+AHw +AGA 1252+AGA +AHw unicode.org +AHw Windows Latin I +AHw
+AHw +AGA 1253+AGA +AHw unicode.org +AHw Windows Greek +AHw
+AHw +AGA 1254+AGA +AHw unicode.org +AHw Windows Turkish +AHw
+AHw +AGA 1255+AGA +AHw unicode.org +AHw Windows Hebrew +AHw
+AHw +AGA 1256+AGA +AHw unicode.org +AHw Windows Arabic +AHw
+AHw +AGA 1257+AGA +AHw unicode.org +AHw Windows Baltic +AHw
+AHw +AGA 1258+AGA +AHw unicode.org +AHw Windows Vietnam +AHw
+AHw +AGA 1361+AGA +AHw Windows 7 +AHw Korean (Johab) +AHw
+AHw +AGA-10000+AGA +AHw unicode.org +AHw MAC Roman +AHw
+AHw +AGA-10001+AGA +AHw Windows 7 +AHw Japanese (Mac) +AHw
+AHw +AGA-10002+AGA +AHw Windows 7 +AHw MAC Traditional Chinese (Big5) +AHw
+AHw +AGA-10003+AGA +AHw Windows 7 +AHw Korean (Mac) +AHw
+AHw +AGA-10004+AGA +AHw Windows 7 +AHw Arabic (Mac) +AHw
+AHw +AGA-10005+AGA +AHw Windows 7 +AHw Hebrew (Mac) +AHw
+AHw +AGA-10006+AGA +AHw unicode.org +AHw Greek (Mac) +AHw
+AHw +AGA-10007+AGA +AHw unicode.org +AHw Cyrillic (Mac) +AHw
+AHw +AGA-10008+AGA +AHw Windows 7 +AHw MAC Simplified Chinese (GB 2312) +AHw
+AHw +AGA-10010+AGA +AHw Windows 7 +AHw Romanian (Mac) +AHw
+AHw +AGA-10017+AGA +AHw Windows 7 +AHw Ukrainian (Mac) +AHw
+AHw +AGA-10021+AGA +AHw Windows 7 +AHw Thai (Mac) +AHw
+AHw +AGA-10029+AGA +AHw unicode.org +AHw MAC Latin 2 (Central European) +AHw
+AHw +AGA-10079+AGA +AHw unicode.org +AHw Icelandic (Mac) +AHw
+AHw +AGA-10081+AGA +AHw unicode.org +AHw Turkish (Mac) +AHw
+AHw +AGA-10082+AGA +AHw Windows 7 +AHw Croatian (Mac) +AHw
+AHw +AGA-12000+AGA +AHw magic +AHw Unicode UTF-32, little endian byte order +AHw
+AHw +AGA-12001+AGA +AHw magic +AHw Unicode UTF-32, big endian byte order +AHw
+AHw +AGA-20000+AGA +AHw Windows 7 +AHw CNS Taiwan (Chinese Traditional) +AHw
+AHw +AGA-20001+AGA +AHw Windows 7 +AHw TCA Taiwan +AHw
+AHw +AGA-20002+AGA +AHw Windows 7 +AHw Eten Taiwan (Chinese Traditional) +AHw
+AHw +AGA-20003+AGA +AHw Windows 7 +AHw IBM5550 Taiwan +AHw
+AHw +AGA-20004+AGA +AHw Windows 7 +AHw TeleText Taiwan +AHw
+AHw +AGA-20005+AGA +AHw Windows 7 +AHw Wang Taiwan +AHw
+AHw +AGA-20105+AGA +AHw Windows 7 +AHw Western European IA5 (IRV International Alphabet 5) +AHw
+AHw +AGA-20106+AGA +AHw Windows 7 +AHw IA5 German (7-bit) +AHw
+AHw +AGA-20107+AGA +AHw Windows 7 +AHw IA5 Swedish (7-bit) +AHw
+AHw +AGA-20108+AGA +AHw Windows 7 +AHw IA5 Norwegian (7-bit) +AHw
+AHw +AGA-20127+AGA +AHw magic +AHw US-ASCII (7-bit) +AHw
+AHw +AGA-20261+AGA +AHw Windows 7 +AHw T.61 +AHw
+AHw +AGA-20269+AGA +AHw Windows 7 +AHw ISO 6937 Non-Spacing Accent +AHw
+AHw +AGA-20273+AGA +AHw Windows 7 +AHw IBM EBCDIC Germany +AHw
+AHw +AGA-20277+AGA +AHw Windows 7 +AHw IBM EBCDIC Denmark-Norway +AHw
+AHw +AGA-20278+AGA +AHw Windows 7 +AHw IBM EBCDIC Finland-Sweden +AHw
+AHw +AGA-20280+AGA +AHw Windows 7 +AHw IBM EBCDIC Italy +AHw
+AHw +AGA-20284+AGA +AHw Windows 7 +AHw IBM EBCDIC Latin America-Spain +AHw
+AHw +AGA-20285+AGA +AHw Windows 7 +AHw IBM EBCDIC United Kingdom +AHw
+AHw +AGA-20290+AGA +AHw Windows 7 +AHw IBM EBCDIC Japanese Katakana Extended +AHw
+AHw +AGA-20297+AGA +AHw Windows 7 +AHw IBM EBCDIC France +AHw
+AHw +AGA-20420+AGA +AHw Windows 7 +AHw IBM EBCDIC Arabic +AHw
+AHw +AGA-20423+AGA +AHw Windows 7 +AHw IBM EBCDIC Greek +AHw
+AHw +AGA-20424+AGA +AHw Windows 7 +AHw IBM EBCDIC Hebrew +AHw
+AHw +AGA-20833+AGA +AHw Windows 7 +AHw IBM EBCDIC Korean Extended +AHw
+AHw +AGA-20838+AGA +AHw Windows 7 +AHw IBM EBCDIC Thai +AHw
+AHw +AGA-20866+AGA +AHw Windows 7 +AHw Russian Cyrillic (KOI8-R) +AHw
+AHw +AGA-20871+AGA +AHw Windows 7 +AHw IBM EBCDIC Icelandic +AHw
+AHw +AGA-20880+AGA +AHw Windows 7 +AHw IBM EBCDIC Cyrillic Russian +AHw
+AHw +AGA-20905+AGA +AHw Windows 7 +AHw IBM EBCDIC Turkish +AHw
+AHw +AGA-20924+AGA +AHw Windows 7 +AHw IBM EBCDIC Latin 1/Open System (1047 +- Euro symbol) +AHw
+AHw +AGA-20932+AGA +AHw Windows 7 +AHw Japanese (JIS 0208-1990 and 0212-1990) +AHw
+AHw +AGA-20936+AGA +AHw Windows 7 +AHw Simplified Chinese (GB2312-80) +AHw
+AHw +AGA-20949+AGA +AHw Windows 7 +AHw Korean Wansung +AHw
+AHw +AGA-21025+AGA +AHw Windows 7 +AHw IBM EBCDIC Cyrillic Serbian-Bulgarian +AHw
+AHw +AGA-21027+AGA +AHw NLS +AHw Extended/Ext Alpha Lowercase +AHw
+AHw +AGA-21866+AGA +AHw Windows 7 +AHw Ukrainian Cyrillic (KOI8-U) +AHw
+AHw +AGA-28591+AGA +AHw unicode.org +AHw ISO 8859-1 Latin 1 (Western European) +AHw
+AHw +AGA-28592+AGA +AHw unicode.org +AHw ISO 8859-2 Latin 2 (Central European) +AHw
+AHw +AGA-28593+AGA +AHw unicode.org +AHw ISO 8859-3 Latin 3 +AHw
+AHw +AGA-28594+AGA +AHw unicode.org +AHw ISO 8859-4 Baltic +AHw
+AHw +AGA-28595+AGA +AHw unicode.org +AHw ISO 8859-5 Cyrillic +AHw
+AHw +AGA-28596+AGA +AHw unicode.org +AHw ISO 8859-6 Arabic +AHw
+AHw +AGA-28597+AGA +AHw unicode.org +AHw ISO 8859-7 Greek +AHw
+AHw +AGA-28598+AGA +AHw unicode.org +AHw ISO 8859-8 Hebrew (ISO-Visual) +AHw
+AHw +AGA-28599+AGA +AHw unicode.org +AHw ISO 8859-9 Turkish +AHw
+AHw +AGA-28600+AGA +AHw unicode.org +AHw ISO 8859-10 Latin 6 +AHw
+AHw +AGA-28601+AGA +AHw unicode.org +AHw ISO 8859-11 Latin (Thai) +AHw
+AHw +AGA-28603+AGA +AHw unicode.org +AHw ISO 8859-13 Latin 7 (Estonian) +AHw
+AHw +AGA-28604+AGA +AHw unicode.org +AHw ISO 8859-14 Latin 8 (Celtic) +AHw
+AHw +AGA-28605+AGA +AHw unicode.org +AHw ISO 8859-15 Latin 9 +AHw
+AHw +AGA-28606+AGA +AHw unicode.org +AHw ISO 8859-15 Latin 10 +AHw
+AHw +AGA-29001+AGA +AHw Windows 7 +AHw Europa 3 +AHw
+AHw +AGA-38598+AGA +AHw Windows 7 +AHw ISO 8859-8 Hebrew (ISO-Logical) +AHw
+AHw +AGA-47451+AGA +AHw unicode.org +AHw Atari ST/TT +AHw
+AHw +AGA-50220+AGA +AHw Windows 7 +AHw ISO 2022 JIS Japanese with no halfwidth Katakana +AHw
+AHw +AGA-50221+AGA +AHw Windows 7 +AHw ISO 2022 JIS Japanese with halfwidth Katakana +AHw
+AHw +AGA-50222+AGA +AHw Windows 7 +AHw ISO 2022 Japanese JIS X 0201-1989 (1 byte Kana-SO/SI)+AHw
+AHw +AGA-50225+AGA +AHw Windows 7 +AHw ISO 2022 Korean +AHw
+AHw +AGA-50227+AGA +AHw Windows 7 +AHw ISO 2022 Simplified Chinese +AHw
+AHw +AGA-51932+AGA +AHw Windows 7 +AHw EUC Japanese +AHw
+AHw +AGA-51936+AGA +AHw Windows 7 +AHw EUC Simplified Chinese +AHw
+AHw +AGA-51949+AGA +AHw Windows 7 +AHw EUC Korean +AHw
+AHw +AGA-52936+AGA +AHw Windows 7 +AHw HZ-GB2312 Simplified Chinese +AHw
+AHw +AGA-54936+AGA +AHw Windows 7 +AHw GB18030 Simplified Chinese (4 byte) +AHw
+AHw +AGA-57002+AGA +AHw Windows 7 +AHw ISCII Devanagari +AHw
+AHw +AGA-57003+AGA +AHw Windows 7 +AHw ISCII Bengali +AHw
+AHw +AGA-57004+AGA +AHw Windows 7 +AHw ISCII Tamil +AHw
+AHw +AGA-57005+AGA +AHw Windows 7 +AHw ISCII Telugu +AHw
+AHw +AGA-57006+AGA +AHw Windows 7 +AHw ISCII Assamese +AHw
+AHw +AGA-57007+AGA +AHw Windows 7 +AHw ISCII Oriya +AHw
+AHw +AGA-57008+AGA +AHw Windows 7 +AHw ISCII Kannada +AHw
+AHw +AGA-57009+AGA +AHw Windows 7 +AHw ISCII Malayalam +AHw
+AHw +AGA-57010+AGA +AHw Windows 7 +AHw ISCII Gujarati +AHw
+AHw +AGA-57011+AGA +AHw Windows 7 +AHw ISCII Punjabi +AHw
+AHw +AGA-65000+AGA +AHw magic +AHw Unicode (UTF-7) +AHw
+AHw +AGA-65001+AGA +AHw magic +AHw Unicode (UTF-8) +AHw
+AGA-unicode.org+AGA refers to the Unicode Consortium Public Mappings, a database of
various mappings between unicode characters and respective character sets. The
tables are processed by a few scripts in the build process.
+AGA-IBM+AGA refers to the IBM coded character set database. Even though IBM uses a
different numbering scheme from Windows, the IBM numbers are used when there is
no conflict. The tables are manually generated from the symbol PDFs.
+AGA-Windows 7+AGA refers to direct inspection of Windows 7 machines using .NET class
+AGA-System.Text.Encoding+AGA. The enclosed +AGA-MakeEncoding.cs+AGA C+ACM program brute-forces
code pages. MakeEncoding.cs deviates from unicode.org in some cases. When they
map a given code to different characters, unicode.org value is used. When
unicode.org does not prescribe a value, MakeEncoding.cs value is used.
+AGA-NLS+AGA refers to the National Language Support files supplied in various versions
of Windows. In older versions of Windows (e.g. Windows 98) these files followed
the name pattern +AGA-CP+AF8AIw.NLS+AGA, but newer versions use the name pattern +AGA-C+AF8AIw.NLS+AGA.
+ACMAIw Testing
+AGA-make test+AGA will run the nodejs-based test.
To run the in-browser tests, run a local server and go to the +AGA-ctest+AGA directory.
+AGA-make ctestserv+AGA will start a python +AGA-SimpleHTTPServer+AGA server on port 8000.
To update the browser artifacts, run +AGA-make ctest+AGA.
+ACMAIw Sources
- +AFs-Unicode Consortium Public Mappings+AF0(http://www.unicode.org/Public/MAPPINGS/)
- +AFs-Windows Code Page Enumeration+AF0(http://msdn.microsoft.com/en-us/library/cc195051.aspx)
- +AFs-Windows Code Page Identifiers+AF0(http://msdn.microsoft.com/en-us/library/windows/desktop/dd317756.aspx)
- +AFs-IBM Coded Character Sets+AF0(https://www-01.ibm.com/software/globalization/ccsid/ccsid+AF8-registered.html)
+ACMAIw License
Please consult the attached LICENSE file for details. All rights not explicitly
granted by the Apache 2.0 license are reserved by the Original Author.
+ACMAIw Badges
+AFsAIQBb-Sauce Test Status+AF0(https://saucelabs.com/browser-matrix/codepage.svg)+AF0(https://saucelabs.com/u/codepage)
+AFsAIQBb-Build Status+AF0(https://travis-ci.org/SheetJS/js-codepage.svg?branch+AD0-master)+AF0(https://travis-ci.org/SheetJS/js-codepage)
+AFsAIQBb-Coverage Status+AF0(http://img.shields.io/coveralls/SheetJS/js-codepage/master.svg)+AF0(https://coveralls.io/r/SheetJS/js-codepage?branch+AD0-master)
+AFsAIQBb-Analytics+AF0(https://ga-beacon.appspot.com/UA-36810333-1/SheetJS/js-codepage?pixel)+AF0(https://github.com/SheetJS/js-codepage)