Content deleted Content added
Matthiaspaul (talk | contribs) +ref |
m →Support in operating systems: Improve CONFIG.SYS samples |
||
(78 intermediate revisions by 19 users not shown) | |||
Line 1:
{{short description|Code page supported natively by a hardware device}}
{{anchor|Fontpage|Display|Printer|Default}}In computing, a '''hardware code page''' ('''HWCP''') refers to a [[code page]] supported natively by a hardware device such as a [[display adapter]] or [[printer (computing)|printer]]. The [[glyph]]s to present the characters are stored in the [[character generator]]'s resident read-only memory (like [[Read-only memory|ROM]] or flash) and are thus not user-changeable.<ref name="Paul_2001_CPSwitchFD"/> They are available for use by the system without having to load any [[computer font|font]] definitions into the device first. Startup messages issued by a [[Personal computer|PC]]'s [[System BIOS]] or displayed by an [[operating system]] before initializing its own code page switching logic and font management and before switching to [[graphics mode]] are displayed in a computer's '''default hardware code page'''.▼
{{use dmy dates|date=July 2019|cs1-dates=y}}
{{use list-defined references|date=January 2022}}
{{anchor|Fontpage|Display|Printer|Default}}
▲
==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
==Support in operating systems==
When operating systems initialize their
Under [[DOS]] and [[Windows 9x]] this is accomplished by specifying the hardware
: <tt>DEVICE=…\DISPLAY.SYS CON=(type,(hwcp1,hwcp2,…),n|(n,m))</tt><ref name="Paul_2002-12-04"/>▼
If multiple hardware code pages are supported in OEM issues, the first hardware code page (hwcp1) in the list specifies the default hardware code page
▲: <tt>DEVICE=…\PRINTER.SYS PRN=(type,hwcp,n)</tt><ref name="Paul_2001_CPSwitchFD"/><ref name="Caldera_1998_USER-9"/><ref name="Caldera_1998_USER-17"/><ref name="Paul_1997_NWDOSTIP"/><ref name="Paul_2001_NWDOSTIP"/><ref name="Prosise_1990"/>
: <tt>DEVICE=…\PRINTER.SYS PRN=(type,(hwcp1,hwcp2,…),n)</tt><ref name="Paul_2002-12-04"/>▼
▲If multiple hardware code pages are supported in OEM issues, the first hardware code page (hwcp1) in the list specifies the default hardware code page.
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,
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 [[ARABIC.COM]], [[HEBREW.COM]], and [[SK_HGC.COM]].<ref name="Paul_2002-12-04"/>▼
▲[[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==
* [[PC-9800 series]]
* [[Alt codes]]
==Notes==
{{Reflist|group="nb"|refs=
<ref group="nb" name="Escape_sequence_Epson_NEC">On [[Epson]], [[NEC]] and [[Fujitsu]] [[ESC/P]] compatible printers, the [[escape sequence]] to switch to various hardware code pages is <code>ESC R (n)</code> with (n) = 0..254 being a code associated with specific character sets. The range of supported codes depends on the printer model and installed font options.</ref>
<ref group="nb" name="NB_OmniGo_300">The "International English" version of the [[HP OmniBook 300]] uses [[code page 850]] (rather than the more common [[code page 437]]) as hardware code page.</ref>
}}
==References==
{{
<ref name="NEC_1990_P90">{{cite book |title=Pinwriter P90 Bedienungshandbuch |language=
<ref name="
<ref name="
<ref name="NEC_1992_Flyer">{{citation |title=NEC Pinwriter. Ein Maßstab in der Profiklasse. |language=de |edition=P-EAM-D-5/92 |publisher=[[NEC Deutschland GmbH]] |author=<!--Staff writer(s); no by-line.--> |type=Printed 11-page color flyer about NEC Pinwriters P20/P30, P60/P70 and P90 |date=May 1992}}</ref>
<ref name="Caldera_1998_USER-9">{{cite book |title=DR-DOS 7.02 User Guide |chapter=Chapter 9: Configuring the System |publisher=[[Caldera, Inc.]] |date=1998 |url=http://www.drdos.net/documentation/usergeng/09ugch9.htm#807 |dead-url=no |archive-url=https://web.archive.org/web/20160607164317/http://www.drdos.net/documentation/usergeng/09ugch9.htm#807 |archive-date=2016-06-07}}</ref>▼
<ref name="NEC_1993_EPROMs">{{cite book |title=Pinwriter Familie - Pinwriter - Epromsockel - Zusätzliche Zeichensätze / Schriftarten |language=de |publisher=[[NEC Deutschland GmbH]] |author=<!--Staff writer(s); no by-line.--> |date=March 1993 |edition=00 3/93 |type=Printed reference manual for optional font and code page [[EPROM]]s for [[NEC Pinwriter]]s, including custom variants}}</ref>
▲<ref name="Caldera_1998_USER-9">{{cite book |title=Caldera DR-DOS 7.02 User Guide |chapter=Chapter 9: Configuring the System |publisher=[[Caldera, Inc.]] |date=1998 |orig-date=1993, 1997 |chapter-url=http://www.drdos.net/documentation/usergeng/09ugch9.htm#807 |
<ref name="Caldera_1998_USER-17">{{cite book |title=Caldera DR-DOS 7.02 User Guide |chapter=Chapter 17: Setting Up Code Page Switching |publisher=[[Caldera, Inc.]] |date=1998 |orig-date=1993, 1997 |chapter-url=http://www.drdos.net/documentation/usergeng/17ugch17.htm |url-status=dead |archive-url=https://web.archive.org/web/20160609203350/http://www.drdos.net/documentation/usergeng/17ugch17.htm |archive-date=2016-06-09}}</ref>
<ref name="Paul_1997_NWDOSTIP">{{cite book |title=NWDOS-TIPs — Tips & <ref name="Paul_2001_NWDOSTIP">{{cite book |title=NWDOS-TIPs — Tips &
<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
<ref name="Paul_2002-09-05">{{
<ref name="Paul_2002-12-04">{{cite web |title=DISPLAY CON
<ref name="Prosise_1990">{{cite journal |author-first=Jeff |author-last=Prosise |author-link=Jeff Prosise |title=Tutor: Using code pages |journal=[[PC Magazine]] |date=1990-05-15 |pages=327–328 |url=
<ref name="
<ref name="
<ref name="
<ref name="FreeBSD_2016_2">{{cite web |title=FreeBSD Handbook |at=22.5.1.3 Localization - i18n/L10n Usage and Setup: Localizing FreeBSD to Specific Languages: Russian Language (KOI8-R Encoding): Printer Setup |work=The FreeBSD Documentation Project |author=bhd |others=Chernov, Andrey |date=2016-06-04 |orig-date=1995 |version=48895 |url=http://freebsd.therek.net/handbook/lang-setup.html |access-date=2016-06-12 |url-status=live |archive-url=https://web.archive.org/web/20160612110040/http://freebsd.therek.net/handbook/lang-setup.html |archive-date=2016-06-12}}</ref>
<ref name="XyWrite_2009">{{cite web |title=Changing code pages |work=XyWrite III, XyWrite III Plus and Signature |id=Application Note #111 |url=http://www.xywrite.com/ttg/appnotes/app111.txt |orig-date=2002-09-04 |date=2009-04-25 |access-date=2016-06-12 |url-status=live |archive-url=https://web.archive.org/web/20160612212528/http://www.xywrite.com/ttg/appnotes/app111.txt |archive-date=2016-06-12}}</ref>
<ref name="Chen_2005_CP">{{cite web |title=Keep your eye on the code page |author-first=Raymond |author-last=Chen |author-link=Raymond Chen (Microsoft) |work=The Old New Thing |date=2005-03-08 |publisher=[[Microsoft]] |url=https://blogs.msdn.microsoft.com/oldnewthing/20050308-00/?p=36253 |access-date=2016-06-12 |url-status=live |archive-url=https://web.archive.org/web/20160612213558/https://blogs.msdn.microsoft.com/oldnewthing/20050308-00/?p=36253 |archive-date=2016-06-12}}</ref>
<ref name="Chen_2005_OEM">{{cite web |title=Why is the default console codepage called "OEM"? |author-first=Raymond |author-last=Chen |author-link=Raymond Chen (Microsoft) |work=The Old New Thing |date=2005-08-29 |publisher=[[Microsoft]] |url=https://blogs.msdn.microsoft.com/oldnewthing/20050829-00/?p=34403 |access-date=2016-06-12 |url-status=live |archive-url=https://web.archive.org/web/20160612214003/https://blogs.msdn.microsoft.com/oldnewthing/20050829-00/?p=34403 |archive-date=2016-06-12}}</ref>
<ref name="Phoenix_1991_BIOS">{{cite book |title=System BIOS for IBM PCs, Compatibles, and EISA Computers — The Complete Guide to ROM-Based System Software |author=Phoenix Technologies, Ltd. |author-link=Phoenix Technologies |series=Phoenix Technical Reference Series |publisher=[[Addison Wesley Publishing Company, Inc.]] |edition=2 |date=June 1991 |___location=Amsterdam |isbn=0-201-57760-7 |pages=[https://archive.org/details/isbn_9780201577600/page/140 140–141] |url=https://archive.org/details/isbn_9780201577600/page/140}}</ref>
<ref name="Fujitsu_1994_DL6400_DL6600">{{cite book |title=Fujitsu DL6400/DL6600 Dot Matrix Printer User's Manual |publisher=[[Fujitsu Limited]] |date=April 1994 |id=C147-E015-01EN |url=http://www.fujitsu.com/downloads/COMP/fcpa/printers/dl6400_user-manual.pdf |access-date=2016-06-14 |url-status=live |archive-url=https://web.archive.org/web/20160614143230/http://www.fujitsu.com/downloads/COMP/fcpa/printers/dl6400_user-manual.pdf |archive-date=2016-06-14}}</ref>
<ref name="Wilton_1987">{{cite book |title=Programmer's guide to the PC & PS/2 video systems |author-first=Richard |author-last=Wilton |date=1987 |edition=1 |publisher=[[Microsoft Press]] |isbn=1-55615-103-9}} (NB. The second edition does no longer discuss the [[Hercules InColor Card|InColor]] and [[Multi-Color Graphics Array|MCGA]] cards at detail level.)</ref>
<ref name="Elliott_2012_HGCPlus">{{cite web |title=Hercules Graphics Card Plus: Notes |author-first=John C. |author-last=Elliott |date=2012-08-09 |work=Seasip.info |url=http://www.seasip.info/VintagePC/hercplus.html |access-date=2016-11-23 |url-status=live |archive-url=https://web.archive.org/web/20161123124757/http://www.seasip.info/VintagePC/hercplus.html |archive-date=2016-11-23}}</ref>
<ref name="Elliott_2012_InColor">{{cite web |title=Hercules InColor Card: Notes |author-first=John C. |author-last=Elliott |date=2012-08-05 |work=Seasip.info |url=http://www.seasip.info/VintagePC/incolor.html |access-date=2016-11-23 |url-status=live |archive-url=https://web.archive.org/web/20161123123816/http://www.seasip.info/VintagePC/incolor.html |archive-date=2016-11-23}}</ref>
<ref name="Elliott_2020_MDA">{{cite web |title=Monochrome Display Adapter: Notes |author-first=John C. |author-last=Elliott |date=2020-06-08 |work=Seasip.info |url=http://www.seasip.info/VintagePC/mda.html |access-date=2016-11-23 |url-status=live |archive-url=https://web.archive.org/web/20230920194518/https://www.seasip.info/VintagePC/mda.html |archive-date=2023-09-20 |quote=[…] Reading from port 03BAh returns vertical sync in bit 7, and a card ID in bits 6-4: 000: Hercules, 001: Hercules Plus, 101: Hercules InColor, 111: Unknown clone […] One card […] which appears to be a Hercules clone of Eastern European origin, has a further capability - two ROM fonts, selectable in software. These options are controlled in a similar manner to other extended features in the Hercules: Bit 2 of port 3BFh must be set to enable the feature, and then Bit 4 of port 3B8h selects which font to use. The card ID in bits 6-4 of port 03BAh has all three bits set. […]}}</ref>
<ref name="Ferraro_1994">{{cite book |title=Programmer's Guide to the EGA, VGA and Super VGA Cards |author-first=Richard F. |author-last=Ferraro |edition=3 |date=August 1994 |publisher=[[Addison-Wesley Publishing Company, Inc.]] |isbn=0-201-62490-7 |id={{EAN|9780201624908}}}}</ref>
<ref name="Paul_2001_COUNTRY">{{cite web |title=DOS COUNTRY.SYS file format |type=COUNTRY.LST file |author-first=Matthias R. |author-last=Paul |date=2001-06-10 |edition=1.44 |orig-date=1995 |url=http://www.columbia.edu/~em36/wpdos/MatthiasPaulCPI.zip<!-- not an official distribution archive, but contains an older version of COUNTRY.LST --> |access-date=2016-08-20 |url-status=live |archive-url=https://web.archive.org/web/20160420065252/http://www.columbia.edu/~em36/wpdos/MatthiasPaulCPI.zip |archive-date=2016-04-20}}</ref>
<ref name="Paul_2001_CPI">{{cite web |title=Format description of DOS, OS/2, and Windows NT .CPI, and Linux .CP files |type=CPI.LST file |author-first=Matthias R. |author-last=Paul |date=2001-06-10 |edition=1.30 |orig-date=1995 |url=http://www.columbia.edu/~em36/wpdos/MatthiasPaulCPI.zip<!-- not an official distribution archive, but contains an older version of CPI.LST --> |access-date=2016-08-20 |url-status=live |archive-url=https://web.archive.org/web/20160420065252/http://www.columbia.edu/~em36/wpdos/MatthiasPaulCPI.zip |archive-date=2016-04-20}}</ref>
<ref name="Elliott_2006_CPI">{{cite web |author-first=John C. |author-last=Elliott |title=CPI file format |date=2006-10-14 |work=Seasip.info |url=http://www.seasip.info/DOS/CPI/cpi.html |access-date=2016-09-22 |url-status=live |archive-url=https://web.archive.org/web/20160922165307/http://www.seasip.info/DOS/CPI/cpi.html |archive-date=2016-09-22}}</ref>
<ref name="AEB_2001_CPI">{{cite web |title=CPI fonts |author-first=Andries Evert |author-last=Brouwer |author-link=Andries Evert Brouwer |date=2001-02-10 |version=0.2 |url=https://www.win.tue.nl/~aeb/linux/kbd/font-formats-3.html |access-date=2016-09-22 |url-status=live |archive-url=https://web.archive.org/web/20160922165133/https://www.win.tue.nl/~aeb/linux/kbd/font-formats-3.html |archive-date=2016-09-22}}</ref>
<ref name="Haralambous_2007_CPI">{{cite book |title=Fonts & Encodings |url=https://archive.org/details/fontsencodings00hara_390 |url-access=limited |author-first=Yannis |author-last=Haralambous |translator-first=P. Scott |translator-last=Horne |___location=Sebastopol, California, USA |publisher=[[O'Reilly Media, Inc.]] |date=September 2007 |edition=1 |isbn=978-0-596-10242-5 |pages=[https://archive.org/details/fontsencodings00hara_390/page/n621 601]–602, 611}}</ref>
<ref name="MS_1991_PR">{{cite book |title=MS-DOS Programmer's Reference |publisher=[[Microsoft Press]] |date=1991 |isbn=1-55615-329-5 |url=https://archive.org/details/isbn_9781556153297}}</ref>
<ref name="Hart_1985">{{cite journal |author-first1=Glenn A. |author-last1=Hart |author-first2=Jim |author-last2=Forney |title=Video Board Reviews: Persyst BoB Color Adapter |journal=[[PC Magazine]] |date=1985-02-19 |publisher=[[Ziff Davis, Inc.]] |pages=121–133 |url=https://books.google.com/books?id=Q2ad61ZUYQMC&pg=PA132}}</ref>
<ref name="Derfler_1985">{{cite journal |author-first=Frank J. |author-last=Derfler, Jr. |title=Expansion Options: Persyst Color Combo: Fit for an XT |journal=[[PC Magazine]] |date=1985-10-29 |url=https://books.google.com/books?id=jBnPebByBGkC&pg=PA195 |pages=196–199 |publisher=[[Ziff Davis, Inc.]] |access-date=2017-08-12}}</ref>
<ref name="CW_1988">{{cite journal |url=http://www.computerwoche.de/a/grafik-und-netzwerk-auf-einer-karte,1154889 |access-date=2016-11-24 |journal=[[Computerwoche]] |language=de |title=Hercules bringt neues PC-Board mit Ramfont: Grafik und Netzwerk auf einer Karte |author=CW |date=1988-04-22 |url-status=live |archive-url=https://archive.today/20170909221835/https://www.computerwoche.de/a/grafik-und-netzwerk-auf-einer-karte,1154889 |archive-date=2017-09-09}}</ref>
<ref name="Hercules_1988">{{cite journal |date=1988-05-31 |journal=[[PC Magazine]] |url=https://books.google.com/books?id=voPUUGTC56UC&pg=PA262 |access-date=2016-11-24 |title=Hercules Network Card Plus |publisher=[[Ziff Davis, Inc.]]}}</ref>
<ref name="NEC_1983_APC">{{cite book |title=Advanced Personal Computer - MS-DOS System Programmer's Guide |publisher=[[NEC Corporation]] |author=NEC Information Systems, Inc. |author-link=NEC Information Systems, Inc. |date=November 1983
|id=part number 819-000104-3001 |edition=REV 00 |url=http://bitsavers.informatik.uni-stuttgart.de/pdf/nec/APC/NEC_APC_MS-DOS_System_Programmers_Guide_Sep83.pdf |access-date=2016-11-25 |url-status=live |archive-url=https://web.archive.org/web/20161125154102/http://bitsavers.informatik.uni-stuttgart.de/pdf/nec/APC/NEC_APC_MS-DOS_System_Programmers_Guide_Sep83.pdf |archive-date=2016-11-25}}</ref>
<ref name="HP_1985_PP">{{cite book |title=Hewlett-Packard - Technical Reference Manual - Portable PLUS |date=August 1985 |edition=1 |id=45559-90001 |publisher=[[Hewlett-Packard Company]], Portable Computer Division |___location=Corvallis, OR, USA |url=https://archive.org/details/bitsavers_hpportableblePLUSTechnicalReferenceManualAug1985_25919880 |access-date=2016-11-27}}</ref>
<ref name="HP_1986_PP">{{cite book |title=Hewlett-Packard - Technical Reference Manual - Portable PLUS |date=December 1986 |orig-date=August 1985 |edition=2 |id=45559-90006 |publisher=[[Hewlett-Packard Company]] |___location=Portable Computer Division, Corvallis, OR, USA |url=http://www.jeffcalc.hp41.eu/hpplus/files/techrefman.pdf |access-date=2016-11-27 |url-status=live |archive-url=https://web.archive.org/web/20161128194426/http://www.jeffcalc.hp41.eu/hpplus/files/techrefman.pdf |archive-date=2016-11-28}}</ref>
<ref name="HP_1991_95LXUG">{{cite book |title=HP 95LX User's Guide |publisher=[[Hewlett-Packard Company]], Corvallis Division |___location=Corvallis, OR, USA |edition=2 |date=June 1991 |orig-date=March 1991 |id=F0001-90003 |url=http://www.retroisle.com/others/hp95lx/OriginalDocs/95LX_UsersGuide_F1000-90001_826pages_Jun91.pdf |access-date=2016-11-27 |url-status=live |archive-url=https://web.archive.org/web/20161128202642/http://www.retroisle.com/others/hp95lx/OriginalDocs/95LX_UsersGuide_F1000-90001_826pages_Jun91.pdf |archive-date=2016-11-28 |pages=E-1–E-3, F-1–F-7 |quote=The [[HP 95LX]] character set is equivalent to [[code page 850]], the [[IBM PC]] multilingual character set. (Note that your HP 95LX contains [[MS-DOS 3.22]], which does not support [[code-page switching]].) All the HP 95LX applications use this set except [[Lotus 1-2-3|1-2-3]], which uses [[LICS (character set)|LICS]], the [[Lotus International Character Set]]. Most LICS characters are included in code page 850; the few that are not will not display […] If your HP 95LX cannot display […] or if your printer cannot print a LICS character, the HP 95LX uses a fallback presentation for that character […] if you use the {{mono|©}} symbol and your printer cannot print it, the HP 95LX might display {{mono|(c)}} or {{mono|c}} as the fallback presentation (depending on the capabilities of your printer).}}</ref>
<ref name="HP_1996_200LXUG">{{cite book |title=HP 200LX User's Guide |publisher=[[Hewlett-Packard Singapore (Private) Limited]], Asia-Pacific Personal Computer Division |___location=Singapore |edition=1 |date=October 1996 |id=1216-90001 |url=http://h10032.www1.hp.com/ctg/Manual/bpia5259.pdf |access-date=2016-11-29 |url-status=live |archive-url=https://web.archive.org/web/20161130124719/http://h10032.www1.hp.com/ctg/Manual/bpia5259.pdf |archive-date=2016-11-30 |pages=21-6–21-7, 25-9–25-13, 26-14–26-18, C-1–C-4, D-1–D-10 |quote=Your palmtop supports [[code page 850|code pages 850]] and [[code page 437|437]]. The built-in applications (except [[Lotus 1-2-3|1-2-3]]) and [[System Manager (HP LX)|System Manager]]-compliant applications […] use code page 850. […] Any DOS application you load and run will by default use code page 437. If an application requires code page 850, you can select it using the Setup utility.}}</ref>
<ref name="Sargent_1988_Sirius">{{cite book |title=Assemblersprache und Hardware des IBM PC/XT/AT |language=de |author-first1=Murray |author-last1=Sargent III. |author-first2=Richard L. |author-last2=Shoemaker |author-first3=Ernst H. K. |author-last3=Stelzer |publisher=[[Addison-Wesley Verlag (Deutschland) GmbH]] / [[Addison-Wesley Publishing Company]] |edition=1 |date=1988 |isbn=3-89319-110-0 |id=VVA-Nr. 563-00110-4}}</ref>
}}
== External links ==
* {{cite web |url=https://www.vogons.org/viewtopic.php?f=46&t=44883 |title=Non-US character ROMs from MDA/CGA/Hercules cards? |date=2015-09-14 |access-date=2016-06-09 |
{{Character encoding}}
Line 58 ⟶ 100:
{{DEFAULTSORT:Hardware code page}}
[[Category:DOS code pages]]
[[Category:Character encoding]]
|