Content deleted Content added
Matthiaspaul (talk | contribs) improved refs |
m Removed dead links. |
||
Line 6:
==Code page assignments==
In North American [[IBM-compatible PC]]s, the hardware code page of the display adapter is typically [[code page 437]].<ref name="Elliott_2020_MDA"/> However, various portable machines<ref name="HP_1985_PP"/><ref name="HP_1986_PP"/><ref name="HP_1991_95LXUG"/> as well as (Eastern) European, Arabic, Middle Eastern and Asian PCs used a number of other code pages as their hardware code page,<ref name="Paul_2001_CPSwitchFD"/> including
In contrast to this, printers frequently support several user-switchable character sets, often including various variants of the 7-bit [[ISO/IEC 646]] character sets such as [[code page 367]] ("[[ISO/IEC 646-US]] / [[ASCII]]"<ref name="Paul_2001_CPSwitchFD"/>), sometimes also a couple of 8-bit code pages like [[code page 437]],<ref name="Fujitsu_1994_DL6400_DL6600"/><ref name="NEC_1990_P90"/><ref name="Epson_1991_GQ"/> [[code page 850|850]],<ref name="Fujitsu_1994_DL6400_DL6600"/><ref name="NEC_1990_P90"/><ref name="Epson_1991_GQ"/> [[code page 851|851]],<ref name="Fujitsu_1994_DL6400_DL6600"/> [[code page 852|852]],<ref name="Fujitsu_1994_DL6400_DL6600"/><ref name="NEC_1993_EPROMs"/> [[code page 853|853]],<ref name="Epson_1992_EPL-4300"/> [[code page 855|855]],<ref name="Fujitsu_1994_DL6400_DL6600"/><ref name="NEC_1993_EPROMs"/> [[code page 857|857]],<ref name="Epson_1992_EPL-4300"/> [[code page 860|860]],<ref name="Fujitsu_1994_DL6400_DL6600"/><ref name="NEC_1990_P90"/><ref name="Epson_1991_GQ"/> [[code page 861|861]],<ref name="Epson_1991_GQ"/> [[code page 863|863]],<ref name="Fujitsu_1994_DL6400_DL6600"/><ref name="NEC_1990_P90"/><ref name="Epson_1991_GQ"/> [[code page 865|865]],<ref name="Fujitsu_1994_DL6400_DL6600"/><ref name="NEC_1990_P90"/><ref name="Epson_1991_GQ"/> and [[code page 866|866]].<ref name="Fujitsu_1994_DL6400_DL6600"/><ref name="NEC_1993_EPROMs"/><ref name="FreeBSD_2016_1"/><ref name="FreeBSD_2016_2"/> Printers for the Eastern European or Middle Eastern markets sometimes support other locale-specific hardware code pages to choose from. They can be selected via [[DIP switch]]es or configuration menus on the printer, or via specific [[escape sequence]]s.<ref name="Paul_2001_CPSwitchFD"/><ref group="nb" name="Escape_sequence_Epson_NEC"/>
Line 13:
When operating systems initialize their code page switching logic, they need to know but have no means to determine the previously active hardware code page by themselves. Therefore, for code page switching to work correctly, the hardware code page needs to be specified.<ref name="Paul_2001_CPSwitchFD"/><ref name="Caldera_1998_USER-9"/><ref name="Paul_1997_NWDOSTIP"/><ref name="Paul_2001_NWDOSTIP"/>
Under [[DOS]] and [[Windows 9x]] this is accomplished by specifying the hardware code page as a parameter (hwcp) to the [[device driver]]s
: <code>[[DEVICE (CONFIG.SYS directive)|DEVICE]]=…\DISPLAY.SYS CON=(type,hwcp,n|(n,m))</code><ref name="Paul_2001_CPSwitchFD"/><ref name="XyWrite_2009"/><ref name="Caldera_1998_USER-9"/><ref name="Paul_1997_NWDOSTIP"/><ref name="Paul_2001_NWDOSTIP"/><ref name="Caldera_1998_USER-17"/><ref name="Prosise_1990"/>
Line 23:
: <code>DEVICE=…\PRINTER.SYS PRN=(type,(hwcp1,hwcp2,…),n)</code><ref name="Paul_2002-12-04"/>
If no hardware code page(s) are specified, these drivers default either to a dummy code page number 999<ref name="Paul_2001_CPSwitchFD"/><ref name="Paul_1997_NWDOSTIP"/><ref name="Paul_2001_NWDOSTIP"/> or assume the hardware code page to be equal to the
In many English-speaking countries, the primary code page is either 437 (f.e. in the US) or 850 (f.e. in the UK, Ireland and Canada),<ref name="Paul_1997_NWDOSTIP"/><ref name="Paul_2001_NWDOSTIP"/> so that, without specifying a different code page, the system would often assume one of these to be the corresponding device's default hardware code page as well.<ref name="Paul_2001_CPSwitchFD"/>
If a hardware code page does not match one of those with official code page assignments, an arbitrary number from the range 57344–61439 (E000h–EFFFh) for [[user-definable code page]]s or 65280–65533 (FF00h–FFFDh) for [[private use code page]]s could be specified per [[IBM CDRA]] to give the operating system a non-conflictive "handle" to select that code page.
[[Arabic MS-DOS|Arabic]] and [[Hebrew MS-DOS]] do not use DISPLAY.SYS and PRINTER.SYS, but provide similar facilities using
==OEM code pages==
Hardware code pages are also [[OEM code page]]s. The designation "OEM", for "[[original equipment manufacturer]]", indicates that the character set could be changed by the manufacturer to meet different markets.<ref name="Chen_2005_CP"/><ref name="Chen_2005_OEM"/>
However, OEM code pages do not necessarily reside in ROM, but include so called
==See also==
Line 56:
<ref name="Paul_1997_NWDOSTIP">{{cite book |title=NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds |id=MPDOSTIP |author-first=Matthias R. |author-last=Paul |date=1997-07-30 |edition=3 |version=Release 157 |language=de |url=http://www.antonis.de/dos/dos-tuts/mpdostip/html/nwdostip.htm |access-date=2012-01-11 |url-status=live |archive-url=https://web.archive.org/web/20160522014302/http://www.antonis.de/dos/dos-tuts/mpdostip/html/nwdostip.htm |archive-date=2016-05-22}} (NB. NWDOSTIP.TXT is a comprehensive work on [[Novell DOS 7]] and [[OpenDOS 7.01]], including the description of many undocumented features and internals. It is part of the author's yet larger MPDOSTIP.ZIP collection maintained up to 2001 and distributed on many sites at the time. The provided link points to a HTML-converted older version of the NWDOSTIP.TXT file.)</ref>
<ref name="Paul_2001_NWDOSTIP">{{cite book |title=NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds |id=MPDOSTIP |author-first=Matthias R. |author-last=Paul |date=2001-04-09 |edition=3 |version=Release 183 |language=de}}</ref>
<ref name="Paul_2001_CPSwitchFD">{{cite web |title=Changing codepages in FreeDOS |author-first=Matthias R. |author-last=Paul |date=2001-08-15 |access-date=2016-06-06 |url=http://www.freedos.org/technotes/technote/txt/141.txt |type=Technical design specification |url-status=dead |archive-url=https://web.archive.org/web/20160606182501/http://www.freedos.org/technotes/technote/txt/141.txt |archive-date=2016-06-06 |quote=[…] The […] active system codepage […] sometimes also called global codepage […] is the codepage currently in use for the [[DOS kernel]], for example the collating order and other [[I18N]] tables depend on this codepage. While in most cases the system codepage reflects the codepage used for devices such as console (
<ref name="Paul_2002-09-05">{{cite web |title=Technical info on undocumented DOS country info for LCASE, ARAMODE and CCTORC records |author-first=Matthias R. |author-last=Paul |date=2002-09-05 |work=FreeDOS development list fd-dev at Topica |url=http://permalink.gmane.org/gmane.os.freedos.devel/364 |access-date=2016-05-26 |url-status=dead |archive-url=https://web.archive.org/web/20160527142512/http://permalink.gmane.org/gmane.os.freedos.devel/364 |archive-date=2016-05-27}}</ref>
<ref name="Paul_2002-12-04">{{cite web |title=DISPLAY CON |author-first=Matthias R. |author-last=Paul |date=2002-12-04 |work=FreeDOS development list freedos-dev |url=https://marc.info/?l=freedos-dev&m=103902610816421&w=2 |url-status=live |access-date=2016-06-07 |archive-url=https://archive.today/20170909221415/https://marc.info/?l=freedos-dev&m=103902610816421&w=2 |archive-date=2017-09-09}}</ref>
|