[91] [[SGML]] 派生[[マーク付け言語]]における[DFN[[RUBYB[[[文字参照]]]@en[character reference]]]]は、[[文字]]の番号や短い名前によって表す[[文字]]の代替表現です。
[[マーク付け]]の一部を表す[[文字]]を[[データ]]として含めるために使ったり、
通常の方法で入力しがたい[[文字]]を表すために使ったりします。

* 仕様書

[REFS[
- [89] '''[CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2014-07-02 23:06:24 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#character-references>'''
- [93] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2014-07-02 23:06:24 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#elements-0>
- [94] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2014-07-02 23:06:24 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#syntax-attribute-value>
- [103] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2014-07-02 23:06:24 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#consume-a-character-reference>
]REFS]

* 呼称と定義・分類

[90] [[HTML]] では、[[名前付き文字参照]]、[[十進数文字参照]]、[[十六進数文字参照]]の総称を[[文字参照]]と呼んでいます
[SRC[>>89]]。

* 文脈

[92] [[HTML]] では[[文字参照]]は、
[[通常要素]]、[[外来要素]]、[[エスケープ可能生テキスト要素]]の[[内容]]の一部として [SRC[>>93]]、
あるいは[[属性値]]の一部として [SRC[>>94]] 用いることができます。

[95] >>92 のいずれも[[文字参照]]の他に[[テキスト]]を用いることができる文脈ですが、
[[曖昧アンド]]が禁止されています [SRC[>>93, >>94]]。[[文字参照]]にも[[曖昧アンド]]にも一致しない
[CODE[[[&]]]] は[[テキスト]]として解釈され、[[著者]]はこれを用いても構いません。
[[曖昧アンド]]である [CODE[[[&]]]] は[[著者]]が用いてはなりません。

[96] [DFN[[RUBYB[[[曖昧アンド]]]@en[ambiguous ampersand]]]]は、
[CODE[[[&]]]] の後に1文字以上の[[ASCII英数字]]が続き、その後に [CODE[[[;]]]]
が続くもののうち、[[名前付き文字参照]]でないものです [SRC[>>89]]。

[FIG(railroad)[
= [CODE[[[&]]]]
= +
== [[ASCII英数字]]
= [CODE[[[;]]]]
]FIG]

;; [102] [CODE[[[;]]]] で終わらない ([[不適合]]の) [[文字参照]]を禁止しないといけない気がしますが、 >>99 で禁止がなくなってしまっています。
また、正しい[[文字参照]]が[[曖昧アンド]]に含まれないので、[[文字参照]]は[[テキスト]]としても解釈し得る状態になっていて、厳密には不適切な状態になっています。。。

* 文字コード

[81] 
現在の [[HTML]] では[[文字参照]]は [[Unicode]] の[[符号位置]]として解釈されます。

[82] 
ただし [N[0x80]] - [N[0x9F]] の範囲は例外的に [[Windows-1252]] 
の[[符号位置]]として解釈されます。
21世紀初頭頃にそのように利用、実装されていたことによります。

-*-*-

[85] 
[[参照処理モデル]]実装前の[[20世紀]]の [[Webブラウザー]]では、
そのままの[[バイト]]を表すものとして実装されていました。
[[数値文字参照]]のみならず[[文字実体参照]]もそのようになっていました。

[EG[
[87] 例えば[[日本語]] ([[シフトJIS]]) 環境の[[Webブラウザー]]では 
[CODE[&copy;]] 
が [CH[©]] ではなく [CH[ゥ]] ([[半角カナ]]) で表示されていました。
]EG]

;; [108] 意図的な仕様というよりは、あまり深く考えずに実装されていた + 技術的制約によるものでしょう。

[109] 
[[参照処理モデル]]実装後でも、[[フォント依存符号化]]の[[フォント]]との併用等により、
[CC[U+0000]] - [CC[U+00FF]] の[[文字参照]]が本来の文字とは異なる
[[HTML文書]]が作られています。

[110] 
実例: [[Latin3]], [[ジョージアの8ビット符号]]

-*-*-

[112] 
[[iモード]]では[[シフトJIS文字参照]]が使われていました。


* HTML 文字参照 XML DTD

[18] [[XML]] においてはいくつかの[[公開識別子]]を持つ[[外部実体]]は
[[HTML]] の[[名前付き文字参照]]を[[宣言]]するものと解釈されることになっています。

;; [[XHTML名前付き文字参照DTD]]を参照。

* スクリプトマクロ

[SEE[ [[スクリプトマクロ]] ]]

* [CITE[PukiWiki]]

[20] 
[[PukiWikiのテキスト整形のルール]] [SRC[>>47]] では、
[[HTML]] の[[文字参照]]の一部と、独自の[[文字参照]]が使えるとされます。

[21] 
[CODE[&heart;]],
[CODE[&smile;]],
[CODE[&t;]]
など独自の[[文字参照]]があります。 [SRC[>>47]]

[23] 
[CODE[&date;]],
[CODE[&page;]]
など[[保存時][保存時置換構文]]に[[メタ情報]]に置換される構文があります。 [SRC[>>47]]

[24] 
[CODE[&counter;]]
など動的に決まる値に置き換えられる構文があります。
[SRC[>>47]]

[25] 
[CODE[[[&ruby]]([VAR[ルビ]]){[VAR[インライン要素]]};]]
など[[引数]]を取る構文があります。
[SRC[>>47]]

[26] 
このように [[SGML]] の[[文字参照]]から大きく離れて一般の記述構文にまで拡張されています。

[FIG(quote)[
[FIGCAPTION[
[47] [CITE@ja[FormattingRules - PukiWiki-official]]
([TIME[2005-10-12T11:40:00.000Z]], [TIME[2021-01-02T05:56:03.066Z]])
<https://pukiwiki.osdn.jp/?FormattingRules#ibd49862>
]FIGCAPTION]

> 16進数は半角小文字で指定する必要があります(XHTML 1.0 第2版から小文字に限定されました)。

]FIG]

* LeXML

@@ [[LeXML]]

* 通信用語の基礎知識V6フォーマット

[129] 
[[通信用語の基礎知識V6フォーマット]]は、明らかに [[HTML]]
から派生したと思われる[[文字実体参照]]機能を持ちますが、

- [264] かなり多くの文字が独自に追加されています。
- [265] 末尾は [CH[;]] で同じですが、先頭は [CH[\]] です。
- [266] 末尾に [CODE[{[VAR[...]]}]] や [CODE[:[VAR[...]]]] で[[引数]]を指定できる場合があります。

と違いも多いです。

[267] 
[[日本]]で作られた[[辞書形式]]として特徴的なものとして、
[[漢文]]用の[[返り点]]が定義されています。

* 歴史

** SGML

@@


[116] 
[[Unicode Consortium]]
は一連の[[SGML文字実体]]と [[Unicode文字]]との対応表を公表しています。
[SRC[>>115]]

[117] 
([TIME[平成9(1997)年][1997]]当時の) [[Unicode]] の文字に対応しないとされるものが21個含まれています。

[REFS[

- [115] 
[TIME[25 July 1997][1997-07-25]],
[TIME[2002-04-08T21:00:09.000Z]], [TIME[2025-11-02T06:07:05.345Z]] <https://unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT>

]REFS]



** HTML の誕生と文字参照

[53] 
[CITE@en[WorldWideWeb/NextStep/Implementation/ParseHTML.h at master · cynthia/WorldWideWeb · GitHub]], [TIME[2024-08-30T15:24:01.000Z]] <https://github.com/cynthia/WorldWideWeb/blob/master/NextStep/Implementation/ParseHTML.h>

** 文字エスケープ拡大の諸提案

[48] 
[[SGML]] の[[文字実体参照]]の体系が多数提案されました。
また、 [[SGML]] 以外の対象でも利用されました。


[54] 
[[Cello]],
[[HTML3]],
[[STIX]],
[[SI 1680]],
[[XML Entity Definitions for Characters]],
[[ERCS]],
[[KanjiBase]],
[CODE[&M]],
[[BUCS]],
[[EKBS]],
[[テキスト形式TRONコード]],
[[CHISE文字参照]],
[[シフトJIS文字参照]],
[[MUFI]],
[[IDS]] (別構文あり),
[[SAT外字]],
[[代用表記 (新・新しい日本語を作る会)]],
[[The Menota handbook]]

[61] [CITE[Stream-based style sheets]], [TIME[2024-09-28T05:04:04.000Z]], [TIME[1999-02-19T19:29:58.109Z]] <https://web.archive.org/web/19990219192957/http://odur.let.rug.nl/%7Ebert/style.html>


[14] [CITE@ja[IPAmj明朝フォントの研究 ― 実装編 ― - FIELD NOTES: 書を持って街へ出よう]], [TIME[2023-09-05T14:51:34.000Z]] <https://field-notes.hatenablog.jp/entry/20111223/1324634005>


>前回の調査結果を元に Field Reports 1.4 に以下の機能を盛り込みました。

>ただし,プログラミング言語によっては2バイトを超えるUnicode文字をエスケープシーケンスなどで表現できないので,数値参照文字も使えるようにしました。
>>    &#dddd; または &#xhhhh; (ddddは10進数,hhhhは16進数)
>
ついでに,CIDまたはGIDで直接グリフを指定できるよう「グリフ参照文字」も使えるようにしました。
>>    &@#dddd; または &@#xhhhh;l

>文字参照を独自拡張した「グリフ名参照」により,グリフ名を指定できるようにしました。
以下のような書式になります。
>>    &@<グリフ名>;



[19] [CITE@ja-JP[Field Reports 1.4 の新機能 (3) ― グリフ直接指定 ― - 合同会社フィールドワークス]], [TIME[2023-09-05T14:58:02.000Z]] <https://www.field-works.co.jp/2011/12/16/field-reports-1-4-%E3%81%AE%E6%96%B0%E6%A9%9F%E8%83%BD-3-%E3%82%B0%E3%83%AA%E3%83%95%E7%9B%B4%E6%8E%A5%E6%8C%87%E5%AE%9A/>

[28] 
[CITE[HTML TADS deviations from standard HTML specifications]], [TIME[2007-06-23T19:42:00.000Z]], [TIME[2024-08-17T11:45:11.200Z]] <https://www.tads.org/t3doc/doc/htmltads/deviate.htm#TABLEadditions>

[29] 
[CITE[Word Wrapping and Line Breaking in HTML TADS]], [TIME[2002-12-13T06:25:50.000Z]], [TIME[2024-08-17T11:53:47.792Z]] <https://www.tads.org/t3doc/doc/htmltads/linebrk.htm>

[51] 
[CITE[HTML TADS Latin-2 Character Entities]], [TIME[1999-05-09T21:32:36.000Z]], [TIME[2024-08-17T11:54:42.619Z]] <https://www.tads.org/t3doc/doc/htmltads/latin2.htm>


[52] [CITE[Guide to the W3C XML Specification (XMLspec) DTD, Version 2.1]], [TIME[2014-02-24T23:47:01.000Z]], [TIME[2024-08-24T02:52:52.349Z]] <https://www.w3.org/XML/1998/06/xmlspec-report.htm#AEN3352>


[65] 
[CITE[HTML+ predefined icon-like symbols]], [TIME[2024-10-09T13:52:58.000Z]], [TIME[2001-04-22T14:08:59.122Z]] <https://web.archive.org/web/20010422140733/http://odur.let.rug.nl/~bert/WWWicn/Sample.html>


- [68] [CITE[Ethiopic Entity Names]], [TIME[2024-09-21T14:48:47.000Z]], [TIME[2024-10-14T08:59:31.728Z]] <http://www.geez.org/Entities/>
-- [76] <ftp://ftp.geez.org/pub/xml/ethiopic.dtd>


*** [CITE[Mosaic]] の文字参照


[211] 
[TIME[西暦2010(平成22)年][2010]]付で [[GitHub]] で公開されている、
[TIME[西暦1993(平成5)年][1993]]の[[著作権表記]]がある
[CITE[NCSA Mosaic]]
のソースコードには、

- [212] [CODE[lt]], [CODE[LT]]
- [213] [CODE[gt]], [CODE[GT]]
- [214] [CODE[amp]], [CODE[AMP]]
- [215] [CODE[quot]], [CODE[QUOT]]
- [216] [[Latin1]]
-- [217] [CODE[macr]] がなく [CODE[hibar]] がある

があります。 [SRC[>>210]]



;; [218] 
なお、これはその後[TIME[西暦2022(令和4)年][2022]]になって最新の
[CITE[HTML Standard]]
由来の表に置換されてしまっています。その際に [CITE[HTML Standard]]
の規定を十分に理解していない人が作業したらしく、
[CITE[HTML Standard]] の [CODE[;]] 付きと [CODE[;]] なしの[[文字参照]]の違いを適切に扱えていません。


[219] 
[CODE[hibar]] のみ現行仕様と異なります。 [CITE[Mosaic]] 
が何らかの理由で独自仕様としてしまったものか、
先行する何らかの仕様か実装を模倣したものかは不明です。


;; [220] 手元にある歴代 [[HTML]] 仕様等の [[DTD]] の中で [CODE[hibar]]
を採用したものは1つも見当たりません。



[REFS[

- [86] [CITE[ncsa-mosaic/CHANGES at master · alandipert/ncsa-mosaic]]
( ([TIME[2014-04-07 05:42:16 +09:00]] 版))
<https://github.com/alandipert/ncsa-mosaic/blob/master/CHANGES#L1310>
-- [210] 
[CITE@en[ncsa-mosaic/libhtmlw/HTMLamp.h at 29c82be0c24dcf08125d3fe289b61ea9f1832bbf · alandipert/ncsa-mosaic · GitHub]], [TIME[2025-11-02T12:19:07.000Z]] <https://github.com/alandipert/ncsa-mosaic/blob/29c82be0c24dcf08125d3fe289b61ea9f1832bbf/libhtmlw/HTMLamp.h>

]REFS]



*** HTF の文字参照


[136] 
[[西暦1990年代]]前半 ([[平成時代]]初期) 頃に使われた
[[SGML応用]]である
[[HTF]] は [[Latin1]] の多くの文字に対する[[文字参照]]を定めています。
[SRC[>>137]]

[138] 
現在の [[HTML]] のものに近いですが、微妙に違います。

[139] 
[CODE[brkbar]]
と
[CODE[hibar]]
があり、それらの文字に他の名前はありません。


;; [221] 
[CITE[Mosaic]] の実装との前後関係は微妙な時期であり不明です。
[CODE[hibar]] が共通しているのは、共通の原典がありそうです。
[CODE[brkbar]] は異なっており、一方が他方を模倣したという直接の関係ではなさそうです。


;; [222] 手元にある歴代 [[HTML]] 仕様等の [[DTD]] の中で 
[CODE[hibar]], [CODE[brkbar]]
を採用したものは1つも見当たりません。



[REFS[

- [137] 
[CITE[[L[Hyper-G Text Format (HTF)[BR[]]Version 2.13]]]],
[[[L[Frank Kappe]]]],
[TIME[[L[January 22, 1996]]][1996-01-22]]
#page=33
-- [SEE[ [[HTF]] ]]

]REFS]

*** Martin Ramsch の文字参照の表

[140] 
[[Martin Ramsch]] が[TIME[西暦1994(平成6)年][1994]]頃作成した
[[ISO/IEC 8859-1]]
用の[[文字参照]]の一覧表があります。
[SRC[>>143]]

[148] 
この表は現在もあちこちに複製や派生版が残ります。また、いろいろなところからリンクされています。
現存しないものも含めれば相当の人の目に触れていたと思われます。

[149] 
[CITE[Lynx]] には遅くても 2.5 (平成8年) 時点でテスト用ファイルとして取り込まれていたようで
[SRC[>>131]]、現在も公式サイトに残っています [SRC[>>146]]。
他の[[文字コード]]の同様の表も作られています [SRC[>>147]]。


[168] 
本人サイトの版 [SRC[>>143, >>162]] より、過去に次の版があったことは確実と思われます。

- [169] [TIME[1994-02-16]]
- [170] [TIME[1996-01-07]]
- [171] [TIME[1996-07-01]] [SRC[>>143]]
- [172] [TIME[1998-10-09]] [SRC[>>174]]
- [173] [TIME[2000-05-15]] [SRC[>>162]]

[176] 
過去の [CITE[Lynx]] のテストファイルには[TIME[1994-02-16]]と共に[TIME[1994-10-11]]の日付があります。
[SRC[>>131]]
[TIME[1994-02-16]]の最初の版からの派生であることは間違いないと思われますが、
[TIME[1994-10-11]]の日付を残したのが本人なのか、
[[Lynx]] に取り込んだ別人なのかは不明です。
後者の場合他にも別人による改変が加わっている可能性がありますが、不明です。

[188] 
現在の [CITE[Lynx]] のテストファイルには[TIME[2000-05-15]]の日付があります。
[SRC[>>146]] 内容は本家の[TIME[2000-05-15]]版 [SRC[>>162]]
と似ていますが、微妙に違いがあり、 [CITE[Lynx]] 
側で本家の最新版を取り込んだ後に独自に修正したものと思われます。

[177] 
>>142 は[TIME[2004-04-28]]の日付だけがありますが、
本人によるものか別人による改変なのか不明です。
本体も大幅に改められています。
[[日付]]の[[形式][日時表示]]が >>163 で[TIME[西暦1998年][1998]]以後改められていますが、
>>142 は旧形式を踏襲していますから、
古い版からの派生の可能性があります。
後述の [CODE[brkbar]], [CODE[hibar]] の箇所を見ると、
かなり古い版から派生している可能性があります。

[REFS[

- [164] 本人公開と思われるもの
-- [143] 
[CITE[Martin Ramsch - iso8859-1 table]], [TIME[2025-11-02T09:02:38.000Z]], [TIME[1997-01-19T16:06:56.376Z]] <https://web.archive.org/web/19970119160651/http://www.uni-passau.de/~ramsch/iso8859-1.html>
--- [144] 
「[I[Martin Ramsch, 16.02.1994, 07.01.1996, 01.07.1996]]」
-- [174] 
[CITE[Martin Ramsch - iso8859-1 table]], [TIME[2025-11-02T09:52:42.000Z]], [TIME[1999-11-28T17:30:22.189Z]] <https://web.archive.org/web/19991128173017/http://www.fmi.uni-passau.de/~ramsch/iso8859-1.html>
--- [175] 
「[I[Martin Ramsch, 16.02.1994, 07.01.1996, 01.07.1996, 1998-10-09]]」
-- [141] 
[CITE[Martin Ramsch - iso8859-1 table]], [TIME[2025-11-02T09:01:58.000Z]], [TIME[2009-12-16T04:13:06.349Z]] <https://web.archive.org/web/20091216041035/http://www.ramsch.org/martin/uni/fmi-hp/iso8859-1.html>
-- [162] 
[CITE[Martin Ramsch - iso8859-1 table]], [TIME[2025-11-02T09:44:09.000Z]], [TIME[2011-05-14T08:44:35.073Z]] <https://web.archive.org/web/20110514084413/http://www.ramsch.org/martin/uni/fmi-hp/iso8859-1.html>
--- [163] 
「[I[Martin Ramsch, 16.02.1994, 07.01.1996, 01.07.1996, 1998-10-09, 2000-05-15]]」
- [147] 
[CITE[Directory tree of /lynx_doc/test, showing all files at or below this level]], [TIME[2024-04-15T23:42:24.000Z]], [TIME[2025-11-02T09:04:16.541Z]] <https://lynx.invisible-island.net/lynx_doc/test/>
-- [131] 
[CITE[Martin Ramsch - iso8859-1 table]], [TIME[2025-11-02T07:01:15.000Z]], [TIME[1997-08-03T22:06:08.004Z]] <https://web.archive.org/web/19970803220531/http://www.slcc.edu/lynx2-5/test/iso8859-1.html>
--- [166] 
「[I[Martin Ramsch, 16.02.1994, 11.10.1994]]」
-- [146] 
[CITE[Martin Ramsch - iso8859-1 table]], [TIME[2019-04-03T08:25:24.000Z]], [TIME[2025-11-02T09:03:36.071Z]] <https://lynx.invisible-island.net/lynx_doc/test/iso-8859-1.html>
--- [167] 
「[I[Martin Ramsch, 16.02.1994, 07.01.1996, 01.07.1996, 1998-10-09, 2000-05-15]]」
-- [145] 
[CITE[Martin Ramsch - iso8859-1 table]], [TIME[2019-04-03T08:25:24.000Z]], [TIME[2025-11-02T09:02:57.067Z]] <https://lynx.invisible-island.net/lynx_doc/test/iso-8859-1a.html>
- [135] 
[CITE[null]], [TIME[1995-06-12T00:23:04.000Z]], [TIME[2025-11-02T07:24:33.492Z]] <https://www.mit.edu/people/mtbear/iso8859-1.html>
- [142] 
[CITE[Martin Ramsch - iso8859-1 table]], [TIME[2005-04-28T13:52:02.000Z]], [TIME[2025-11-02T09:02:09.519Z]] <https://www.hzdr.de/FWR/VB/HELP/HELP_HTML/entity-list.html>
-- [165] 
「[I[Martin Ramsch, 28.04.2004]]」


]REFS]

-*-*-


[153] 
[CH[¦]] について、

- [182] [[SGML]] には [CODE[brvbar]] のみがあります。
[SRC[>>115]]
- [179] [[HTF]] には [CODE[brkbar]] のみがあります。
[SRC[>>137]]
- [178] 古形を残している可能性がある[TIME[2004-04-28]]版には [CODE[brkbar]] のみがあります。
[SRC[>>142]]
- [180] [CITE[Lynx]] 版には 
[CODE[brvbar]] と共に [CODE[brkbar]] があります。
[CODE[brkbar]] は [[HTF]] 固有と説明があります。
[SRC[>>131]]
- [181] 平成8年版には
[CODE[brvbar]] と共に [CODE[brkbar]] があります。
[CODE[brkbar]] は [[HTF]] 固有と説明があります。
[SRC[>>143]]
- [189] 平成12年版には
[CODE[brvbar]] と共に [CODE[brkbar]] があります。
[CODE[brkbar]] は [[HTF]] 固有と説明があります。
[SRC[>>162]]
- [190] [CITE[Lynx]] 現行版には
[CODE[brvbar]] と共に [CODE[brkbar]] があります。
[CODE[brkbar]] は [[HTF]] 固有と説明があります。
[CODE[brkbar]] は非標準と書かれています。
[SRC[>>146]]
- [154] 現在の [[Webブラウザー]]は [CODE[brkbar]] に対応していません。

[155] 
[CH[¨]] について、

- [183] [[SGML]] には [CODE[uml]] と [CODE[die]] があります。 [SRC[>>115]]
- [184] [[HTF]] には [CODE[uml]] があります。 [SRC[>>137]]
- [185] 古形を残している可能性がある[TIME[2004-04-28]]版には [CODE[uml]] があります。 
[SRC[>>142]]
- [186] [CITE[Lynx]] 版には [CODE[uml]] があります。 [SRC[>>131]]
- [187] 平成8年版には [CODE[uml]] と共に [CODE[die]] があります。
重複であることが説明されていますが、理由などは記載がありません。
[SRC[>>143]]
- [191] 平成12年版には [CODE[uml]] と共に [CODE[die]] があります。
重複であることが説明されていますが、理由などは記載がありません。
[SRC[>>162]]
- [192] [CITE[Lynx]] 現行版には [CODE[uml]] と共に [CODE[die]] があります。
重複であることが説明されています。
[CODE[die]] は非標準と書かれています。
[SRC[>>146]]
- [156] 現在の [[Webブラウザー]]はどちらも対応しています。

[157] 
[CH[¯]] について、

- [194] [[SGML]] には [CODE[macr]] があります。 [SRC[>>115]]
- [193] [[HTF]] には [CODE[hibar]] があります。 [SRC[>>137]]
- [195] 古形を残している可能性がある[TIME[2004-04-28]]版には [CODE[hibar]] があります。 
[SRC[>>142]]
- [196] [CITE[Lynx]] 版には [CODE[hibar]] があります。 [SRC[>>131]]
- [197] 平成8年版には [CODE[macr]] と共に [CODE[hibar]] があります。
[CODE[hibar]] は [CITE[X Mosaic]] が対応しているが [CODE[macr]]
に置き換えるべきと記載があります。
[SRC[>>143]]
- [198] 平成12年版には [CODE[macr]] と共に [CODE[hibar]] があります。
[CODE[hibar]] は [CITE[X Mosaic]] が対応しているが [CODE[macr]]
に置き換えるべきと記載があります。
[SRC[>>162]]
- [199] [CITE[Lynx]] 現行版には [CODE[macr]] と共に [CODE[hibar]] があります。
[CODE[hibar]] は [CITE[X Mosaic]] が対応しているが [CODE[macr]]
に置き換えるべきと記載があります。
[CODE[hibar]] は非標準と書かれています。
[SRC[>>146]]
- [158] 現在の [[Webブラウザー]]は [CODE[hibar]] に対応していません。


[159] 
[CH[Ð]] について、

- [200] [[SGML]] には [CODE[ETH]] と [CODE[Dstrok]] があります。 [SRC[>>115]]
-- [201] [[Unicode]] は別の文字と対応付けています。 [SRC[>>115]]
- [202] [[HTF]] には [CODE[Dstrok]] があります。 [SRC[>>137]]
- [203] 古形を残している可能性がある[TIME[2004-04-28]]版には [CODE[ETH]] があります。 
[SRC[>>142]]
- [204] 平成8年版には [CODE[ETH]] と共に [CODE[Dstrok]] があります。
[CODE[Dstrok]] は [[HTF]] 固有と説明があります。
[SRC[>>143]]
- [205] 平成12年版には [CODE[ETH]] と共に [CODE[Dstrok]] があります。
[CODE[Dstrok]] は [[HTF]] 固有と説明があります。
[SRC[>>162]]
- [206] [CITE[Lynx]] 現行版には [CODE[ETH]] と共に [CODE[Dstrok]] があります。
[CODE[Dstrok]] は [[HTF]] 固有と説明があります。
[CODE[Dstrok]] は非標準と書かれています。
[SRC[>>146]]
- [160] 現在の [[Webブラウザー]]は
[CODE[ETH]] = [CH[Ð]],
[CODE[Dstrok]] = [CH[Đ]]
で区別しています。前者が [[Latin1]] です。



;; [223] 手元にある歴代 [[HTML]] 仕様等の [[DTD]] の中で 
[CODE[hibar]], [CODE[brkbar]], [CODE[die]]
を採用したものは1つも見当たりません。
[CODE[Dstrok]]
を採用したものも
[CODE[ISO 8879-1986//ENTITIES Added Latin 2//EN]] ([CODE[ISOlat2]])
そのものだけです。
[CODE[die]] は [CODE[ISOdia]]
由来であり、
[[MathML]] 以前に [[SGML]] 系 [[HTML]] で採用した事例が無かったということでしょう。
平成8年版はどこから拾ってきたのでしょう。

[207] 
これら4字の各版の記載の変遷を見ると、この表は元々 [[HTF]] の[[文字参照]]の一覧に基づいていたものが、
[[HTML]] に合わせて訂正されてきたことがわかります。

[208] 
4字中3字について[TIME[2004-04-28]]版 [SRC[>>142]] は [[HTF]] 
と一致するもののみを記載しています。日付が新しいとはいえ、
[[HTML]] と一致するものを削除する動機に乏しいため、
古形を伝えるものではないかと推測しています。ただ、
[CH[Ð]] について [[HTF]] と一致していないのは解せません。


[161] 
[CITE[Lynx]] 版 [SRC[>>131]] 
には

>This table grew out of an ISO Latin-1 Character Set overview related to the Hyper-G Text Format (HTF). The entity names [CODE[&brkbar;]] and [CODE[&Dstrok;]] seem to be unique to HTF. 

とあります。 [[HTF]] に由来する表であることが明言されています。

[150] 
といいつつこの表自体は [[HTML文書]]であり、
[[文字参照]]の文字列と[[文字参照]]として記述された[[文字]]とを対比する形の例文となっています。
利用している[[Webブラウザー]]の動作確認と [[HTML文書]]の[[著者]]のための手引きを兼ねたものと推測されます。
>>161 の部分の続きの説明でも [[HTML]] の仕様を参照しています。

[151] 
[[HTML]] の説明なのに [[HTF]] に由来するというのも不思議な話ですが、
この時代は [[HTML]] の仕様が未確定で流動的である一方で、
[[SGML]] の世界で全体として緩やかに[[SGML文字実体]]が共有されているような状況でしたから、
当初はその違いをあまり深く考えることなく流用していたのでしょうか。

[152] 
ともかくこの表はいろいろな人に参照されて使われました。いろいろな人、には
[CITE[Lynx]] の開発者も含まれました。


-*-*-

[258] 
その他、伝播の過程は不明であるものの、類似した特徴を持つ[[文字参照]]の表があちこちにあります。


- [231] [CITE[HTML Character table]], [TIME[2005-10-31T07:25:53.000Z]], [TIME[2025-11-02T13:53:06.807Z]] <https://www.usewisdom.com/computer/internet/html/charsdesc.html>
-- [232] [CODE[brvbar]], [CODE[brkbar]], [ASIS[[CODE[um]]]], [CODE[die]],
[CODE[macr]], [CODE[hibar]], [CODE[ETH]]
- [233] 
[CITE@en[Special Characters in HTML]], [TIME[2025-11-02T13:54:28.000Z]] <https://www.degraeve.com/reference/specialcharacters.php>
-- [234] [CODE[brvbar]], [CODE[brkbar]], [CODE[uml]], [CODE[die]],
[CODE[macr]], [CODE[hibar]], [CODE[ETH]]
- [238] [CITE@en[ISO Latin-1 character set (HTML Object Control)-line feed in flex tooltip]], [TIME[2025-11-02T13:59:48.000Z]] <https://topic.alibabacloud.com/a/font-classtopic-s-color00c1deisofont-latin-font-classtopic-s-color00c1de1font-character-set-html-object-control-line-feed-in-flex-tooltip_8_8_31959332.html>
-- [239] 全体的に[[大文字]]の使い方がおかしい
-- [240] [CODE[Brvbar]], [CODE[Brkbar]], [CODE[UML]], [CODE[die]],
[CODE[Macr]], [CODE[hibar]], [CODE[ETH]]
- [243] [CITE@zh-CN[HTML转义字符大全-CSDN博客]], [TIME[2025-11-02T14:07:52.000Z]] <https://blog.csdn.net/qq_43641833/article/details/122566555>
-- [244] [CODE[brvbar]], [CODE[brkbar]],
[CODE[uml]], [CODE[die]],
[CODE[macr]], [CODE[hinar]],
[CODE[ETH]],
[CODE[ndash]], [CODE[mdash]]
- [248] [CITE[Regular Expression Library]], [TIME[2025-11-02T14:14:38.000Z]] <https://www.regexlib.com/(X(1)A(7s0KjrHxBlLRq3GSQRBU4tmaOuTV6fZ3PZbrGehBeiNOasOEbCZu08YLXh4TGZCFTGZqrlj96cnXWO2CGTl9WKAF04xihQq46WvbWaN46n6swEEOHT7xxhXG8rVYQehrn1F80J7ZNg9PTjQgl1gwc4wZYiXUapV7a-rhQF-XC0I5m84KfuR3NpPffIGcNXUR0))/REDetails.aspx?regexp_id=2084>
-- [249] 
[CODE[ndash]], [CODE[mdash]],
[CODE[brvbar]], [CODE[brvbar]] (重出),
[CODE[uml]], [CODE[die]],
[CODE[macr]], [CODE[hibar]],
[CODE[ETH]]
-
[247] [CITE[null]], [TIME[2005-08-07T22:22:08.000Z]], [TIME[2025-11-02T14:10:51.122Z]] <https://ftp.gwdg.de/pub/linux/misc//gazette//117/misc/tag/htmlconv-utf.pl.txt>
-- [250] 
[CODE[brvbar]], [CODE[uml]], [CODE[macr]], [CODE[ETH]], [CODE[eth]] を実装。
-- [251] 
[CODE[mdash]],
[CODE[ndash]] を実装し 「HTML 2.0」と注釈。
-- [252] 
[CODE[emdash]],
[CODE[endash]],
[CODE[brkbar]], [CODE[die]], [CODE[hibar]], [CODE[Dstrok]],
[CODE[dstrok]] を実装し「Lynx」と注釈。
- [253] 
[CITE[null]], [TIME[2007-02-04T11:32:08.000Z]], [TIME[2025-11-02T14:17:42.750Z]] <https://ftp.dei.uc.pt/pub/CPAN/authors/id/T/TE/TERJE/webster-2.19_2007.0205>
-- [254] [CODE[lowbar]] も [CODE[horbar]] も [CH[_]]
(どちらも現行 [CITE[HTML Standard]] にあるが後者は [CC[U+2015]])
-- [255] [CODE[hyphen]], [CODE[minus]], [CODE[shy]] が [CH[-]]
(現行 [CITE[HTML Standard]] ではどれも違う文字)
-- [256] [CODE[sp]] と [CODE[nbsp]] が [CH[ ]] (現行 [CITE[HTML Standard]]
に [CODE[sp]] なし)
-- [257] [CODE[brkbar]], [CODE[brvbar]],
[CODE[uml]], [CODE[die]], 
[CODE[macr]], [CODE[hibar]],
[CODE[ETH]]
- [259] [CITE@en[Patience]], [TIME[2025-11-02T14:24:52.000Z]] <https://www.forbes.com/1997/09/28/feat.html>
-- [260] 
[CODE[macr]], [CODE[hibar]],
[CODE[ETH]]


[241] [CITE[Process Hacker: ProcessHacker/mxml/mxml-entity.c Source File]], [TIME[2015-06-29T21:16:54.000Z]], [TIME[2025-11-02T14:01:40.474Z]] <https://processhacker.sourceforge.io/doc/mxml-entity_8c_source.html>

>
[PRE[
    4  * Character entity support code for Mini-XML, a small XML-like
    5  * file parsing library.
]PRE]

>
[PRE[
  151  * '_mxml_entity_cb()' - Lookup standard (X)HTML entities.
]PRE]

>
[PRE[
  167     { "AElig",          198 },
  168     { "Aacute",         193 },
  169     { "Acirc",          194 },
  170     { "Agrave",         192 },
  171     { "Alpha",          913 },
  172     { "Aring",          197 },
  173     { "Atilde",         195 },
  174     { "Auml",           196 },
  175     { "Beta",           914 },
  176     { "Ccedil",         199 },
  177     { "Chi",            935 },
  178     { "Dagger",         8225 },
  179     { "Delta",          916 },
  180     { "Dstrok",         208 },
  181     { "ETH",            208 },
  182     { "Eacute",         201 },
  183     { "Ecirc",          202 },
  184     { "Egrave",         200 },
  185     { "Epsilon",        917 },
  186     { "Eta",            919 },
  187     { "Euml",           203 },
  188     { "Gamma",          915 },
  189     { "Iacute",         205 },
  190     { "Icirc",          206 },
  191     { "Igrave",         204 },
  192     { "Iota",           921 },
  193     { "Iuml",           207 },
  194     { "Kappa",          922 },
  195     { "Lambda",         923 },
  196     { "Mu",             924 },
  197     { "Ntilde",         209 },
  198     { "Nu",             925 },
  199     { "OElig",          338 },
  200     { "Oacute",         211 },
  201     { "Ocirc",          212 },
  202     { "Ograve",         210 },
  203     { "Omega",          937 },
  204     { "Omicron",        927 },
  205     { "Oslash",         216 },
  206     { "Otilde",         213 },
  207     { "Ouml",           214 },
  208     { "Phi",            934 },
  209     { "Pi",             928 },
  210     { "Prime",          8243 },
  211     { "Psi",            936 },
  212     { "Rho",            929 },
  213     { "Scaron",         352 },
  214     { "Sigma",          931 },
  215     { "THORN",          222 },
  216     { "Tau",            932 },
  217     { "Theta",          920 },
  218     { "Uacute",         218 },
  219     { "Ucirc",          219 },
  220     { "Ugrave",         217 },
  221     { "Upsilon",        933 },
  222     { "Uuml",           220 },
  223     { "Xi",             926 },
  224     { "Yacute",         221 },
  225     { "Yuml",           376 },
  226     { "Zeta",           918 },
  227     { "aacute",         225 },
  228     { "acirc",          226 },
  229     { "acute",          180 },
  230     { "aelig",          230 },
  231     { "agrave",         224 },
  232     { "alefsym",        8501 },
  233     { "alpha",          945 },
  234     { "amp",            '&' },
  235     { "and",            8743 },
  236     { "ang",            8736 },
  237     { "apos",           '\'__&&'&&__ },
  238     { "aring",          229 },
  239     { "asymp",          8776 },
  240     { "atilde",         227 },
  241     { "auml",           228 },
  242     { "bdquo",          8222 },
  243     { "beta",           946 },
  244     { "brkbar",         166 },
  245     { "brvbar",         166 },
  246     { "bull",           8226 },
  247     { "cap",            8745 },
  248     { "ccedil",         231 },
  249     { "cedil",          184 },
  250     { "cent",           162 },
  251     { "chi",            967 },
  252     { "circ",           710 },
  253     { "clubs",          9827 },
  254     { "cong",           8773 },
  255     { "copy",           169 },
  256     { "crarr",          8629 },
  257     { "cup",            8746 },
  258     { "curren",         164 },
  259     { "dArr",           8659 },
  260     { "dagger",         8224 },
  261     { "darr",           8595 },
  262     { "deg",            176 },
  263     { "delta",          948 },
  264     { "diams",          9830 },
  265     { "die",            168 },
  266     { "divide",         247 },
  267     { "eacute",         233 },
  268     { "ecirc",          234 },
  269     { "egrave",         232 },
  270     { "empty",          8709 },
  271     { "emsp",           8195 },
  272     { "ensp",           8194 },
  273     { "epsilon",        949 },
  274     { "equiv",          8801 },
  275     { "eta",            951 },
  276     { "eth",            240 },
  277     { "euml",           235 },
  278     { "euro",           8364 },
  279     { "exist",          8707 },
  280     { "fnof",           402 },
  281     { "forall",         8704 },
  282     { "frac12",         189 },
  283     { "frac14",         188 },
  284     { "frac34",         190 },
  285     { "frasl",          8260 },
  286     { "gamma",          947 },
  287     { "ge",             8805 },
  288     { "gt",             '>' },
  289     { "hArr",           8660 },
  290     { "harr",           8596 },
  291     { "hearts",         9829 },
  292     { "hellip",         8230 },
  293     { "hibar",          175 },
  294     { "iacute",         237 },
  295     { "icirc",          238 },
  296     { "iexcl",          161 },
  297     { "igrave",         236 },
  298     { "image",          8465 },
  299     { "infin",          8734 },
  300     { "int",            8747 },
  301     { "iota",           953 },
  302     { "iquest",         191 },
  303     { "isin",           8712 },
  304     { "iuml",           239 },
  305     { "kappa",          954 },
  306     { "lArr",           8656 },
  307     { "lambda",         955 },
  308     { "lang",           9001 },
  309     { "laquo",          171 },
  310     { "larr",           8592 },
  311     { "lceil",          8968 },
  312     { "ldquo",          8220 },
  313     { "le",             8804 },
  314     { "lfloor",         8970 },
  315     { "lowast",         8727 },
  316     { "loz",            9674 },
  317     { "lrm",            8206 },
  318     { "lsaquo",         8249 },
  319     { "lsquo",          8216 },
  320     { "lt",             '<' },
  321     { "macr",           175 },
  322     { "mdash",          8212 },
  323     { "micro",          181 },
  324     { "middot",         183 },
  325     { "minus",          8722 },
  326     { "mu",             956 },
  327     { "nabla",          8711 },
  328     { "nbsp",           160 },
  329     { "ndash",          8211 },
  330     { "ne",             8800 },
  331     { "ni",             8715 },
  332     { "not",            172 },
  333     { "notin",          8713 },
  334     { "nsub",           8836 },
  335     { "ntilde",         241 },
  336     { "nu",             957 },
  337     { "oacute",         243 },
  338     { "ocirc",          244 },
  339     { "oelig",          339 },
  340     { "ograve",         242 },
  341     { "oline",          8254 },
  342     { "omega",          969 },
  343     { "omicron",        959 },
  344     { "oplus",          8853 },
  345     { "or",             8744 },
  346     { "ordf",           170 },
  347     { "ordm",           186 },
  348     { "oslash",         248 },
  349     { "otilde",         245 },
  350     { "otimes",         8855 },
  351     { "ouml",           246 },
  352     { "para",           182 },
  353     { "part",           8706 },
  354     { "permil",         8240 },
  355     { "perp",           8869 },
  356     { "phi",            966 },
  357     { "pi",             960 },
  358     { "piv",            982 },
  359     { "plusmn",         177 },
  360     { "pound",          163 },
  361     { "prime",          8242 },
  362     { "prod",           8719 },
  363     { "prop",           8733 },
  364     { "psi",            968 },
  365     { "quot",           '\"' },
  366     { "rArr",           8658 },
  367     { "radic",          8730 },
  368     { "rang",           9002 },
  369     { "raquo",          187 },
  370     { "rarr",           8594 },
  371     { "rceil",          8969 },
  372     { "rdquo",          8221 },
  373     { "real",           8476 },
  374     { "reg",            174 },
  375     { "rfloor",         8971 },
  376     { "rho",            961 },
  377     { "rlm",            8207 },
  378     { "rsaquo",         8250 },
  379     { "rsquo",          8217 },
  380     { "sbquo",          8218 },
  381     { "scaron",         353 },
  382     { "sdot",           8901 },
  383     { "sect",           167 },
  384     { "shy",            173 },
  385     { "sigma",          963 },
  386     { "sigmaf",         962 },
  387     { "sim",            8764 },
  388     { "spades",         9824 },
  389     { "sub",            8834 },
  390     { "sube",           8838 },
  391     { "sum",            8721 },
  392     { "sup",            8835 },
  393     { "sup1",           185 },
  394     { "sup2",           178 },
  395     { "sup3",           179 },
  396     { "supe",           8839 },
  397     { "szlig",          223 },
  398     { "tau",            964 },
  399     { "there4",         8756 },
  400     { "theta",          952 },
  401     { "thetasym",       977 },
  402     { "thinsp",         8201 },
  403     { "thorn",          254 },
  404     { "tilde",          732 },
  405     { "times",          215 },
  406     { "trade",          8482 },
  407     { "uArr",           8657 },
  408     { "uacute",         250 },
  409     { "uarr",           8593 },
  410     { "ucirc",          251 },
  411     { "ugrave",         249 },
  412     { "uml",            168 },
  413     { "upsih",          978 },
  414     { "upsilon",        965 },
  415     { "uuml",           252 },
  416     { "weierp",         8472 },
  417     { "xi",             958 },
  418     { "yacute",         253 },
  419     { "yen",            165 },
  420     { "yuml",           255 },
  421     { "zeta",           950 },
  422     { "zwj",            8205 },
  423     { "zwnj",           8204 }
]PRE]

[242] 
[[X(HTML)]] と書いてはありますが、どの仕様とも一致していなそうです。
[CODE[brkbar]], [CODE[brvbar]],
[CODE[uml]], [CODE[die]],
[CODE[macr]], [CODE[hibar]],
[CODE[ETH]], [CODE[Dstrok]]
が含まれています。


-*-*-

- [235] [CITE[REPORT OF INTERNATIONAL CONFERENCE ON TAMILNET 99]], [TIME[2025-11-02T13:56:23.000Z]], [TIME[2001-02-15T14:41:33.303Z]] <https://web.archive.org/web/20010215050050/http://www.tamilnet99.org/encstd1.htm>
- [237] [CITE[Bilingual Coding Scheme for Tamil]], [TIME[2025-11-02T13:56:42.000Z]], [TIME[2000-03-13T04:06:30.654Z]] <https://web.archive.org/web/20000312182049/http://tamilnet99.org/annex3.htm>

[236] >>235 >>237 [CODE[hibar]] を実際に利用した事例。
他に [CODE[brvbar]], [CODE[uml]] を利用。
また、 [CODE[REG]] を利用。



*** [CITE[Lynx]] の文字参照


[114] 
現在の
[CITE[Lynx]] 
のソースコードには4種類の[[文字参照]]の集合が含まれています。

[120] 
1つは 「HTML5」 とあり、ある時点の [CITE[HTML5]] の[[文字参照]]の一覧に由来すると思われます。
[SRC[>>119]]

[123] 
詳しく見ていませんが、現行 [CITE[HTML Standard]] のものとはいくらか違いのある古い版のようです。

[121] 
1つは
「Nov 1997 HTML 4.0 draft」
<http://www.w3.org/TR/PR-html40/sgml/entities.html>
に由来するものです。
[SRC[>>119]]

[122] 
1つは
<ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT> (>>115 の旧所在)
に由来し、
[[HTML4]] に合わせた修正を加えたものです。
[SRC[>>119]]

;; [209] 現在の [[HTML]] にないものも多いです。

[124] 
>>115 が [[Unicode]] と対応付けていない21個はこちらでもコメントとなっています。

[125] 
少なくても4個、独自の追加があります。次のような注釈があります [SRC[>>119]]。

>
[PRE[
   * Add few (obsolete) synonyms for compatibility with Lynx/2.5 and up:
          "brkbar"  for "brvbar" 0x00A6
          "emdash"  for "mdash" 0x2014
          "endash"  for "ndash" 0x2013
          "hibar"  for "macr" 0x00AF
]PRE]

[126] 
1つは [[Latin1]] に相当する96個です。 [SRC[>>118]]
このうち95個は [[HTML2]] と同じと思われます
([CODE[brvbar]] があります)。
[CODE[hibar]] があり、 [CODE[macr]] がありません。



[130] 
[CITE[Lynx 2.5]] は[TIME[1996-05-01]]に公開されたようです。


[133] 
[CITE[Lynx 2.5]] 当時のテスト用 HTML ファイルで 「ISO LATIN1」と題したものに、

>
[PRE[
  <li>"&emsp;",		/* emsp, em space - not collapsed */
  <li>"&ensp;",		/* ensp, en space - not collapsed */
]PRE]

があります。 [[マクロン]]や broken bar はありません。 [SRC[>>132]]
このファイルは [CITE[Lynx 2.5]] の配布ファイル中では[TIME[1996-05-03]]付となっています。
[SRC[>>261]]

[134] 
[CITE[Lynx 2.5]] 当時のテスト用 HTML ファイルで 「iso8859-1 (Latin-1)」と題したものに、
>>149 があります。
[CODE[brvbar]] の他に [CODE[brkbar]] があり、
[[マクロン]]は [CODE[hibar]] だけがあります。
[CODE[uml]] はあって [CODE[die]] はありません。
[CODE[ETH]] と [CODE[Dstrok]] があります。
[SRC[>>131]]
このファイルは [CITE[Lynx 2.5]] の配布ファイル中では[TIME[1995-11-03]]付となっています。
[SRC[>>261]]

[262] 
[CITE[Lynx 2.5]] の配布ファイル中、 [TIME[1996-04-15]]付の [CODE[LYCharSets.c]]
に、 >>126 相当の一覧があります。

>
[PRE[
	"brvbar",	/* 166,	broken vertical bar, (brkbar) */
]PRE]

>
[PRE[
	"uml",		/* 168,	spacing diaresis */
]PRE]

>
[PRE[
	"hibar",	/* 175,	spacing macron */
]PRE]

>
[PRE[
	"ETH",		/* 208,	capital Eth, Icelandic (Dstrok) */ 
]PRE]

となっていて、 >>134 の記述と整合しています。

[263] 
[CITE[Lynx 2.5]] の配布ファイル中、 [TIME[1996-04-28]]付の [CODE[HTMLDTD.c]]
に、111個の一覧があります。こちらが [[HTMLの構文解析]]で使われる定義です。
[SRC[>>261]]

>
[PRE[
  "Dstrok",	/* capital Eth, Icelandic */ 
  "ETH",	/* capital Eth, Icelandic */ 
]PRE]

>
[PRE[
  "brkbar",	/* broken vertical bar */
  "brvbar",	/* broken vertical bar */
]PRE]

>
[PRE[
  "die",	/* spacing diaresis */
]PRE]

>
[PRE[
  "emdash",	/* dash the width of emsp */
]PRE]

>
[PRE[
  "endash",	/* dash the width of ensp */
]PRE]

>
[PRE[
  "hibar",	/* spacing macron */
]PRE]

>
[PRE[
  "uml",	/* spacing diaresis */
]PRE]

となっています。 [[Latin1]] のものに加えてそれ以外も多数あり、
どれが何由来かは書かれていません。


;;
[128] 
現在公式サイトから入手可能な最古である[TIME[1998-10-27]]付の
lynx2.8.1rel.2
[SRC[>>127]]
はこれら2箇所の一覧表と同等のものがあり、大きな変更はありませんが、
後者の一覧に
[CODE[thinsp]]
が加わっています。






[REFS[

- [261] 
[TIME[2025-11-02T14:49:49.800Z]]
<https://www.nic.funet.fi/index/files/index/WWW/lynx/lynx2-5/lynx2-5.tar.gz>
- [132] 
[CITE[Test of minimal ISO LATIN1 charactor set]], [TIME[2025-11-02T07:08:06.000Z]], [TIME[1997-08-03T22:08:30.370Z]] <https://web.archive.org/web/19970803220511/http://www.slcc.edu/lynx2-5/test/ISO_LATIN1_test.html>
- [127] 
[TIME[1998-10-27 21:08]],
[TIME[2025-11-02T06:38:03.300Z]]
<https://invisible-island.net/archives/lynx/tarballs/lynx2.8.1rel.2.tar.gz>
- [118] 
[CITE@en[lynx-snapshots/src/LYCharSets.c at master · ThomasDickey/lynx-snapshots · GitHub]], [TIME[2025-11-02T06:17:38.000Z]] <https://github.com/ThomasDickey/lynx-snapshots/blob/master/src/LYCharSets.c#L720>
- [119] 
[CITE@en[lynx-snapshots/src/chrtrans/entities.h at master · ThomasDickey/lynx-snapshots · GitHub]], [TIME[2025-11-02T06:18:20.000Z]] <https://github.com/ThomasDickey/lynx-snapshots/blob/master/src/chrtrans/entities.h>

]REFS]

@@
[BOX[

- [224] 
[CITE[Character table modified and enhanced for iso8859-2 - ALT test]], [TIME[2021-07-26T23:27:35.000Z]], [TIME[2025-11-02T12:47:43.687Z]] <https://lynx.invisible-island.net/lynx_doc/test/ALT88592.html>
- [225] 
[CITE[Test of invalid NCRs 128-159]], [TIME[2019-04-03T08:25:24.000Z]], [TIME[2025-11-02T12:49:25.905Z]] <https://lynx.invisible-island.net/lynx_doc/test/c1.html>
- [226] 
[CITE[Martin Ramsch's character table modified and enhanced for iso8859-2]], [TIME[2021-07-26T23:27:35.000Z]], [TIME[2025-11-02T12:51:24.224Z]] <https://lynx.invisible-island.net/lynx_doc/test/iso-8859-2a.html>
- [227] 
[CITE[Test of some Unicode symbols enclosed as SGML entity names]], [TIME[2019-04-03T08:25:24.000Z]], [TIME[2025-11-02T13:08:24.936Z]] <https://lynx.invisible-island.net/lynx_doc/test/sgml.html>
- [228] [CITE[Test of some Unicode symbols in numeric character reference form]], [TIME[2023-01-29T19:02:45.000Z]], [TIME[2025-11-02T13:12:07.509Z]] <https://lynx.invisible-island.net/lynx_doc/test/unicode.html>

[229] [CITE[Wayback Machine]], [TIME[2025-11-02T13:28:26.000Z]] <https://web.archive.org/web/19980529214527/http://www.flora.org/lynx-dev/mailbox/log98-02>

[230] >>229 [TIME[1997-04-05]]付で [[SGML文字実体]]を [[Unicode Consortium]]
の表に基づき実装した旨の記載

]BOX]

-*-*-

[245] [CITE[null]], [TIME[2001-03-14T14:03:03.000Z]], [TIME[2025-11-02T14:10:02.819Z]] <https://bisqwit.iki.fi/src/entities.h>

[246] >>245 は「From Lynx」と注釈があります。 [[SGML文字実体]]を採用したものの複製です。

** 曖昧アンドの縮小

[101] [[HTML]] の[[曖昧アンド]]の定義は徐々に縮小していき、最終的には[[名前付き文字参照]]と同じ構文のものになっています。
言い換えると、[[エスケープ]]しなくても良い [CODE[[[&]]]]
が徐々に増えていき、現在又は将来の[[名前付き文字参照]]と構文上区別可能ならすべて認められることになっています。

[REFS[
- [97] [CITE@en[Web Applications 1.0 r1296    Fix the definition of ambiguous ampersand, and allow quoted attributes to end in ampersands.]] ([TIME[2008-03-02 20:00:00 +09:00]] 版) <http://html5.org/r/1296>
- [98] [CITE@en[Web Applications 1.0 r3146    Allow href='http://example.com/demo?id=hello&copy=1&world=fun' experimentally.]] ([TIME[2009-05-29 09:02:00 +09:00]] 版) <http://html5.org/tools/web-apps-tracker?from=3145&to=3146>
- [99] [CITE@en[Web Applications 1.0 r4960  Allow a few more unescaped &s.]] ([TIME[2010-04-03 08:18:00 +09:00]] 版) <http://html5.org/r/4960>
- [100] [CITE@en[Web Applications 1.0 r7490 Use some new predefined terms for common character ranges.]] ([TIME[2012-10-31 07:15:00 +09:00]] 版) <http://html5.org/r/7490>
]REFS]


[27] 
[CITE[Welcome to Netscape Navigator 3.0]], [TIME[2024-08-16T11:59:50.000Z]], [TIME[2002-06-30T20:23:19.417Z]] <https://web.archive.org/web/20020630200918/http://wp.netscape.com/eng/mozilla/3.0/relnotes/windows-3.0.html#JavaScriptBugs>


* メモ

[9]

>
:(275) 文字参照 (character reference):
1[[文字]]に[[置換]]される[[参照]]。
[SRC[[[JIS X 4151]]-1992 3.]]
- 備考 [[名前指定文字参照]]及び[[数値指定文字参照]]の2種類がある。

[1] 【[[SGML]]】 SGML の[DFN[文字参照]]には、[[数値指定文字参照]]と[[名前指定文字参照]]があります。
前者は[[文書文字集合]]における[[文字番号]]を使って文字を参照します。例えば [CODE(SGML)[&#33]] は、文字番号 [CODE(SGML)[33]] の文字 [WEAK[([[ISO/IEC 646]]:1991 [[IRV]] では [CODE[!]]。)]]
を表します。後者は[[機能文字]]又は [[SGML宣言]]の[[具象構文]]の追加機能に指定してある文字を、その名前を使って参照します。
たとえば、 [SAMP(SGML)[&#RE]] は機能文字 [CODE(SGML)[[[RE]]]]
[WEAK[([[記録終了]])]] を表します。

Web SGML では、更に[[16進文字参照]]が追加されました。

[2] これに類したものとして、[[文字実体参照]]があります。
これは、[[文字]]1文字 [WEAK[(と判断されるもの。)]]
だけの[[一般実体]]を参照するものです。例えば、
[SAMP(SGML)[&Aacute]] は[[アキュート・アクセント]]つきの文字
[SAMP[A]] に置換されるかもしれません。

(ちなみに、「[[文字実体]]」・「文字[[実体集合]]」
という言葉は SGML には出てきますが、
「文字実体参照」という言葉は [[HTML4]] で出てきます。
[WEAK[(という話は言葉遊びみたいなものですが。)]])

[3] 文字参照は、その文字が他の手段で簡便に書けない場合に限って使うことが望ましいとされています。
([[JISX4151]]‐1992 8.5 参照。)

[7]
- [CODE(ABNF)[[DFN[文字参照]] := [[名前指定文字参照]] / [[数値文字参照]] / [[16進文字参照]] ;; Web SGML [62] ]]

- [4] 文字参照の文字番号の上限ってあるのかなあ?と思って読み返してみたけどわかんなかった。ないのかなあ。もっとも、文書文字集合の最後の数より大きいのを指定してもどうせエラーになるんだろうから意味はないんだけどさあ。
- [5] どうして >>4 みたいなことを考えたかというと、[[規格参照具象構文]]の文書文字集合は 0〜127 までしか定義してないのに、[[回避文字]]に 128〜255 が載ってるの。だから 128〜255 は回避文字になって、[[非SGML文字]]にもなる。非 SGML 文字を数値指定文字参照できるんだから、以下略。って。じゃあそれなら、一切言及のない 256 以上の値だったらどうなんだ、って疑問がわいてくる。[WEAK[もっとも、 SGML 考えた連中はせいぜい 255 までしか頭になかったんだろう。]]

[6] 文字参照を使うと良い場面 (JIS 参考3 7.2 参照。) :
- 入力装置の鍵盤に対応するものがない文字
- 表示できない文字
- [[非SGML文字]]
- [[機能文字]]になっているがデータとして使いたい文字

など。
- [8] [[HTML4]] の文字参照についてイの規定 <IW:HTML4:charset.html#spec-char-encoding> によれば、 HTML では、文字参照は (1) 数値文字参照 : 10進または16進 (2) [[文字実体参照]]の2つの形で現れるとされています。一見 SGML の定義とは異なるように思えますが、 (規定中でわざわざ「SGML 文字参照」と言っていることを見ても) そうではなく、文字実体参照は文字参照を値に持つ実体であることを考えれば矛盾はないことが分かります。

[10]
[[Firefox]] 2.0 で [CODE(char)[[[U+10FFFF]]]] より大きな[[16進数]]を指定すると、値によって:

[CODE(char)[[[U-7FFFFFFF]]]] までなら[[サロゲート・ペア]]への変換の計算を拡張したらしき2[[文字]]の列になります。

;; <http://software.hixie.ch/utilities/js/live-dom-viewer/?%3Cbody%3E%0A%3Cp%3E%26%23x110000%3B%3C%2Fp%3E%0A%3Cscript%3E%0A%20%20var%20pv%20%3D%20document.getElementsByTagName%20('p')%5B0%5D.firstChild.data%3B%0A%20%20if%20(pv%20%3D%3D%20%22%5CuFFFD%22)%20%7B%0A%20%20%20%20document.write%20('%3Cp%20id%3Dresult%20class%3DPASS%3EPASS%3C%2Fp%3E')%3B%0A%20%20%7D%20else%20%7B%0A%20%20%20%20document.write%20('%3Cp%20id%3Dresult%20class%3DFAIL%3EFAIL%20(')%3B%0A%20%20%20%20for%20(var%20i%20%3D%200%3B%20i%20%3C%20pv.length%3B%20i%2B%2B)%20%7B%0A%20%20%20%20%20%20document.write%20(pv.charCodeAt%20(i).toString%20(16)%20%2B%20'%2C')%3B%0A%20%20%20%20%7D%0A%20%20%20%20document.write%20(')%3C%2Fp%3E')%3B%0A%20%20%7D%0A%3C%2Fscript%3E%3Cnoscript%3E%3Cp%20id%3Dtest%20class%3DFAIL%3EFAIL%20(noscript)%3C%2Fp%3E%3C%2Fnoscript%3E%0A>,
<http://software.hixie.ch/utilities/js/live-dom-viewer/?%3Cbody%3E%0A%3Cp%3E%26%23x7fffffff%3B%3C%2Fp%3E%0A%3Cscript%3E%0A%20%20var%20pv%20%3D%20document.getElementsByTagName%20('p')%5B0%5D.firstChild.data%3B%0A%20%20if%20(pv%20%3D%3D%20%22%5CuFFFD%22)%20%7B%0A%20%20%20%20document.write%20('%3Cp%20id%3Dresult%20class%3DPASS%3EPASS%3C%2Fp%3E')%3B%0A%20%20%7D%20else%20%7B%0A%20%20%20%20document.write%20('%3Cp%20id%3Dresult%20class%3DFAIL%3EFAIL%20(')%3B%0A%20%20%20%20for%20(var%20i%20%3D%200%3B%20i%20%3C%20pv.length%3B%20i%2B%2B)%20%7B%0A%20%20%20%20%20%20document.write%20(pv.charCodeAt%20(i).toString%20(16)%20%2B%20'%2C')%3B%0A%20%20%20%20%7D%0A%20%20%20%20document.write%20(')%3C%2Fp%3E')%3B%0A%20%20%7D%0A%3C%2Fscript%3E%3Cnoscript%3E%3Cp%20id%3Dtest%20class%3DFAIL%3EFAIL%20(noscript)%3C%2Fp%3E%3C%2Fnoscript%3E%0A>

[CODE(char)[[[0x80000000]]]]〜[CODE(char)[[[0xFFFFFFFF]]]]
だと、 [CODE(char)[[[&]]]] を除く[[文字列]]がそのまま[[文字データ]]として解釈されます。

;; <http://software.hixie.ch/utilities/js/live-dom-viewer/?%3Cbody%3E%0A%3Cp%3E%26%23x80000000%3B%3C%2Fp%3E%0A%3Cscript%3E%0A%20%20var%20pv%20%3D%20document.getElementsByTagName%20('p')%5B0%5D.firstChild.data%3B%0A%20%20if%20(pv%20%3D%3D%20%22%5CuFFFD%22)%20%7B%0A%20%20%20%20document.write%20('%3Cp%20id%3Dresult%20class%3DPASS%3EPASS%3C%2Fp%3E')%3B%0A%20%20%7D%20else%20%7B%0A%20%20%20%20document.write%20('%3Cp%20id%3Dresult%20class%3DFAIL%3EFAIL%20(')%3B%0A%20%20%20%20for%20(var%20i%20%3D%200%3B%20i%20%3C%20pv.length%3B%20i%2B%2B)%20%7B%0A%20%20%20%20%20%20document.write%20(pv.charCodeAt%20(i).toString%20(16)%20%2B%20'%2C')%3B%0A%20%20%20%20%7D%0A%20%20%20%20document.write%20(')%3C%2Fp%3E')%3B%0A%20%20%7D%0A%3C%2Fscript%3E%3Cnoscript%3E%3Cp%20id%3Dtest%20class%3DFAIL%3EFAIL%20(noscript)%3C%2Fp%3E%3C%2Fnoscript%3E%0A>

[CODE(char)[0x100000000]] 以上だと、下位8桁 (32ビット) 以外は無視されます。

;; 
<http://software.hixie.ch/utilities/js/live-dom-viewer/?%3Cbody%3E%0A%3Cp%3E%26%23x100000000%3B%3C%2Fp%3E%0A%3Cscript%3E%0A%20%20var%20pv%20%3D%20document.getElementsByTagName%20('p')%5B0%5D.firstChild.data%3B%0A%20%20if%20(pv%20%3D%3D%20%22%5CuFFFD%22)%20%7B%0A%20%20%20%20document.write%20('%3Cp%20id%3Dresult%20class%3DPASS%3EPASS%3C%2Fp%3E')%3B%0A%20%20%7D%20else%20%7B%0A%20%20%20%20document.write%20('%3Cp%20id%3Dresult%20class%3DFAIL%3EFAIL%20(')%3B%0A%20%20%20%20for%20(var%20i%20%3D%200%3B%20i%20%3C%20pv.length%3B%20i%2B%2B)%20%7B%0A%20%20%20%20%20%20document.write%20(pv.charCodeAt%20(i).toString%20(16)%20%2B%20'%2C')%3B%0A%20%20%20%20%7D%0A%20%20%20%20document.write%20(')%3C%2Fp%3E')%3B%0A%20%20%7D%0A%3C%2Fscript%3E%3Cnoscript%3E%3Cp%20id%3Dtest%20class%3DFAIL%3EFAIL%20(noscript)%3C%2Fp%3E%3C%2Fnoscript%3E%0A>

[11]
>>10 [[WinIE 6]] ではすべて [CODE(char)[[[U+003F]]]] になるようです。

[12]
>>10 [[Opera]] 9 は:

[CODE(char)[[[U-00110000]]]]〜[CODE(char)[[[0xFFFFFFFF]]]]
は[[サロゲート・ペア]]風のなにか ([[Firefox]] とは違います。)
になります。

[CODE(char)[[[0xFFFFFFFF]]]] 以上は
[CODE(char)[[[0xFFFFFFFF]]]] と同じ結果になります。
([[名無しさん]])

[13]
>>10-12 いずれも[[文字長]]の制限はないように見えます。
([[名無しさん]])





[15]
[CITE[Bug 4948 - Incorrect HTML entity error recovery doesn't match other browsers]] ([TIME[2008-07-31 09:44:14 +09:00]] 版) <https://bugs.webkit.org/show_bug.cgi?id=4948>

[63] [CITE@en[MAMA: Character entities - Opera Developer Community]] ([TIME[2008-11-25 20:22:30 +09:00]] 版) <http://dev.opera.com/articles/view/mama-character-entities/>

[64] [CITE[Business::PayPal::API - PayPal API - search.cpan.org]]
([TIME[2009-07-29 15:59:31 +09:00]] 版)
<http://search.cpan.org/~scottw/Business-PayPal-API-0.62/lib/Business/PayPal/API.pm#PayPal_Munging_URLs>

[66] [CITE[Bug 9207 – Anything else: This part of the spec is problematic, for example, a query string variable &lang_id=1 in as part of an attribute of say an img tag, will get converted into an character token when it shouldn't be. Why is the set of characters a-z, A-Z, 0-]]
([TIME[2010-04-03 12:54:02 +09:00]] 版)
<http://www.w3.org/Bugs/Public/show_bug.cgi>

[67] [CITE@en[HTML5 Revision Tracker]]
([TIME[2010-04-03 12:53:38 +09:00]] 版)
<http://html5.org/tools/web-apps-tracker?from=4958&to=4959>


[69] [CITE[IRC logs: freenode / #whatwg / 20100403]]
([TIME[2010-04-18 19:51:34 +09:00]] 版)
<http://krijnhoetmer.nl/irc-logs/whatwg/20100403#l-73>

[70] [CITE[Bug 10067 – this only lists entities whose replacement text is a single character, for example many of the negated operators, for example]]
( ([TIME[2010-10-09 19:15:18 +09:00]] 版))
<http://www.w3.org/Bugs/Public/show_bug.cgi?id=10067>

[71] [CITE[IRC logs: freenode / #whatwg / 20100927]]
( ([TIME[2010-10-10 13:19:34 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20100927>

[72] [CITE@EN[XQuery 1.0: An XML Query Language (Second Edition)]]
( ([TIME[2011-01-05 01:29:08 +09:00]] 版))
<http://www.w3.org/TR/2010/REC-xquery-20101214/#dt-predefined-entity-reference>

[73] [CITE@EN[XQuery 1.0: An XML Query Language (Second Edition)]]
( ([TIME[2011-01-05 01:29:08 +09:00]] 版))
<http://www.w3.org/TR/2010/REC-xquery-20101214/#dt-character-reference>

[74] [CITE[IRC logs: freenode / #whatwg / 20120525]]
( ([TIME[2012-06-03 11:15:18 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20120525#l-480>

[75] [CITE@en[Web Applications 1.0 r7133 Add a JSON file for entities for convenience.]]
( ([TIME[2012-06-15 04:11:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7132&to=7133>

[78] [CITE[Additional named entities for HTML]]
( ([TIME[2000-03-13 23:37:21 +09:00]] 版))
<http://www.w3.org/TR/WD-entities-961125>

[79] [CITE@en[Web Applications 1.0 r7679  Make <a href='?guitar=2&amp=1&pedal=6'> a parse error since IE9 misparses it '?guitar=2&=1&pedal=6' apparently.]]
( ([TIME[2013-01-31 09:36:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7678&to=7679>


[83] [CITE@en[Help:Formatting - MediaWiki]]
( ([TIME[2014-01-22 11:53:48 +09:00]] 版))
<http://www.mediawiki.org/wiki/Help:Formatting#Inserting_symbols>

[88] [CITE@EN[XQuery 3.0: An XML Query Language]]
( ([TIME[2014-04-08 08:26:21 +09:00]] 版))
<http://www.w3.org/TR/xquery-30/#dt-character-reference>



[84] [CITE@en[XML Entity Definitions for Characters (2nd Edition)]]
( ([TIME[2014-02-10 23:03:18 +09:00]] 版))
<http://www.w3.org/TR/2014/PER-xml-entity-names-20140211/>


[104] [CITE@en[Bug 13108 – Add &zwsp; as named character reference for zero width space (U+200B)]]
( ([TIME[2014-07-23 03:14:12 +09:00]] 版))
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=13108>

[105] [CITE@en[Re: ''''''[''''''whatwg'''''']'''''' several messages about the HTML syntax]]
( ([[fantasai]] 著, [TIME[2014-07-23 00:47:47 +09:00]] 版))
<http://lists.w3.org/Archives/Public/public-whatwg-archive/2014Jul/0132.html>

[106] [CITE@en[''''''[''''''whatwg'''''']'''''' Markup-related feedback]]
( ([[Ian Hickson]] 著, [TIME[2014-10-28 05:41:30 +09:00]] 版))
<http://lists.w3.org/Archives/Public/public-whatwg-archive/2014Oct/0239.html>

[107] [CITE@en[abc:standard:v2.1 ''''''[''''''abc wiki'''''']'''''']]
( ([TIME[2015-01-16 18:37:29 +09:00]] 版))
<http://abcnotation.com/wiki/abc:standard:v2.1#supported_accents_ligatures>

[FIG(quote)[
[FIGCAPTION[
[16] [CITE[XHTMLBasic変換仕様 | Durianマニュアル]]
([TIME[2015-02-09 13:39:46 +09:00]] 版)
<http://durian.symmetric.jp/dev/doc/technical/xhtmlbasic_conversion.html>
]FIGCAPTION]

> 書式	*****で指定可能な記述	説明
> &i-mode_*****;	63647から63919	DoCoMo基本絵文字のShift_JISコード
> &i-mode-ex_*****;	63921から63996	DoCoMo拡張絵文字のShift_JISコード
> &i-mode_U*****;	Unicode	DoCoMo用絵文字のUnicode
> &YahooKeitai-C_*****;	'''['''ページ番号1文字''']'''-'''['''ページ内のコード2文字''']'''	SoftBankC型端末用絵文字
> &YahooKeitai-P_*****;	'''['''ページ番号1文字''']'''-'''['''ページ内のコード2文字''']'''	SoftBankP型端末用絵文字
> &YahooKeitai_U*****;	Unicode	SoftBank用絵文字のUnicode
> &ezweb-1_*****;	アイコン番号またはアイコン名	au cdmaOne300シリーズ、Tu-Ka0Xシリーズ、白黒端末用絵文字
> &ezweb-2_*****;	アイコン番号またはアイコン名	au cdmaOne400シリーズ、Tu-Ka1Xシリーズ用絵文字
> &ezweb-3_*****;	アイコン番号またはアイコン名	au cdmaOne1000/3000シリーズ、Tu-Ka2Xシリーズ、Tu-Ka3Xシリーズ用絵文字
> &ezweb-4_*****;	アイコン番号またはアイコン名	au cdmaOne5000シリーズ、WINシリーズ、Tu-Ka4Xシリーズ、Tu-Ka5Xシリーズ用絵文字
> &ezweb_U*****;	Unicode	au用絵文字のUnicode

]FIG]


[FIG(quote)[
[FIGCAPTION[
[17] [CITE[XHTMLBasic変換仕様 | Durianマニュアル]]
([TIME[2015-02-09 13:40:17 +09:00]] 版)
<http://durian.symmetric.jp/dev/doc/technical/xhtmlbasic_conversion.html>
]FIGCAPTION]

> XHTMLBasicの仕様では規定されていない絵文字および入力モードについては、Durianにより拡張された構文を使用します。構文の詳細については、開発リファレンスを参照してください。
> 機能	表記方法
> 絵文字	&i-mode_63647; や &YahooKeitai-C1-21; のようなエンティティ参照
> 入力モード	inputまたはtextarea要素のtext:type属性で、text:type="hiragana"のように指定
> 

]FIG]

[22] 俗に、[[文字参照]]のことを[[エスケープシーケンス]]と呼ぶことがあります。

[FIG(quote)[
[FIGCAPTION[
[30] [CITE@en[RFC 7749 - The "xml2rfc" Version 2 Vocabulary]]
([TIME[2016-02-04 22:54:51 +09:00]] 版)
<https://tools.ietf.org/html/rfc7749#section-4>
]FIGCAPTION]

>      <!ENTITY nbsp    "&#xa0;">
>      <!ENTITY nbhy    "&#x2011;">
>      <!ENTITY wj      "&#x2060;">

]FIG]


[31] [CITE@en[entries for 1EEF0 and 1EEF1 to match unicode-math · w3c/xml-entities@891fe64]]
([TIME[2016-02-09 16:22:46 +09:00]] 版)
<https://github.com/w3c/xml-entities/commit/891fe64c7591a75c8f2ad42f9ff0fb93b5b8ef74>

[32] [CITE@en[Formalize character reference states]]
( ([[RReverser]]著, [TIME[2016-05-16 19:59:17 +09:00]]))
<https://github.com/whatwg/html/commit/6c629ac9e5736cdb824293999673de6a0f5ea06d>

[34] [CITE@en[Fix wording mistake in parsing a character reference]]
( ([[zcorpan]]著, [TIME[2016-06-01 22:08:31 +09:00]]))
<https://github.com/whatwg/html/commit/918a56e5d1e9e86695770bf10c1893dd7bae6946>

[35] [[JIS X 0218]] は[[文字参照]]のために制定されたのでしょうか。

[36] [CITE@EN[XQuery 3.1: An XML Query Language]]
([TIME[2017-03-20 09:23:33 +09:00]])
<https://www.w3.org/TR/2017/REC-xquery-31-20170321/#dt-character-reference>

[37] [CITE@en[Regression fix: deal with ASCII digits before ASCII hex digits]]
([[annevk]]著, [TIME[2017-04-04 20:48:46 +09:00]])
<https://github.com/whatwg/html/commit/f8e75a974ed9185e5b462bc5b2dfb32034bd1145>

[38] [CITE[文字の制限]]
([TIME[2016-08-30 12:33:40 +09:00]])
<http://www.pcinfo.jpo.go.jp/guide/Content/Rules/MojiSeigen.htm>

[39] [CITE@en[Editorial: Introduce named character reference state]]
([[inikulin]]著, [TIME[2017-04-26 21:34:45 +09:00]])
<https://github.com/whatwg/html/commit/7d3201282d31c30cdba2583445d3727a94390286>

[40] [CITE@en[Clarify that 0x0D CR is not allowed in entities]]
([[Alcaro]]著, [TIME[2017-08-05 09:06:42 +09:00]])
<https://github.com/whatwg/html/commit/efcf0af907c13343d898bf47b5ab004ed59724dd>

[41] [CITE@en[Clarify that 0x0D CR is not allowed in entities by Alcaro · Pull Request #2893 · whatwg/html]]
([TIME[2017-08-07 15:08:59 +09:00]])
<https://github.com/whatwg/html/pull/2893>

[42] [CITE@en[Handle ambiguous ampersands of arbitrary length]]
([[inikulin]]著, [TIME[2017-06-24 04:00:15 +09:00]])
<https://github.com/whatwg/html/commit/ee198945e388bd3298b73fb842fa0175d5b6a0f9>

[43] [CITE@en['''['''Parser''']''' Handle ambiguous ampersands of arbitrary length (closes #1257) by inikulin · Pull Request #2731 · whatwg/html]]
([TIME[2017-08-25 22:38:02 +09:00]])
<https://github.com/whatwg/html/pull/2731>

[44] [CITE@en[Regression fix: Lost ampersands in Character Reference State's Anythi…]]
([[JonathanO]]著, [TIME[2017-08-16 15:06:21 +09:00]])
<https://github.com/whatwg/html/commit/8d2875784cd4684fd85f4421a1d173902d0e1760>

[45] [CITE@en[Fix lost ampersands in Character Reference State's Anything Else case. by JonathanO · Pull Request #2913 · whatwg/html]]
([TIME[2017-08-25 23:52:01 +09:00]])
<https://github.com/whatwg/html/pull/2913>

[46] [CITE[XML Character Entities]]
([TIME[2018-02-12 14:36:03 +09:00]])
<http://www.oasis-open.org/docbook/specs/wd-docbook-xmlcharent-0.3.html>



[49] 
[TIME[2023-08-10T08:36:46.500Z]]
<https://ipsj.ixsq.nii.ac.jp/ej/?action=repository_action_common_download&item_id=100462&item_no=1&attribute_id=1&file_no=1>

[50] >>49 [[外字]]を[[XML]][[実体参照]]で記述して、
[[マーク付き区間]]により[[PUA]]か[[代替表記]]か切り替えられる。


[FIG(data)[ [111] [[HTML要素概説]]

:[F[要素名]]:[CODE[&xxx;]]
:日付:[TIME[1995]]
:説明:
[[文字参照]]は、
低品質な解説類でしばしば要素やタグとして紹介された。
[[マーク付け宣言]]を[[タグ]]とみなすのはまだ理解できるが、
[CODE(HTML)[<]], [CODE(HTML)[>]]
で囲まれない[[文字参照]]を[[タグ]]と強弁するのは無理があろうかと思われる。

]FIG]

[FIG(data)[ [58] [[HTML要素概説]]

:[F[要素名]]:[CODE[&xxx;]]
:日付:[TIME[1999]]
:説明:
[CITE[Compact HTML]]
の tag list にも element
として
[CODE(HTML)[&xxx;]]
が掲載され、
comments
として[[文字実体参照]]や[[十進数文字参照]]が示されていた。
[SRC[>>59]]
また、
[[iモード対応HTML]],
[[iモード対応XHTML]]
の一覧には要素として
[CODE(HTML)[&XXX;]]
が掲載されていた。
[SRC[>>60]]
:出典:
[REFS[

-[59] 
[CITE[Compact HTML for Small Information Appliances]], 
[DATA(.author)[[[Tomihisa Kamada]]]],
[DATA(.status)[W3C NOTE]],
[TIME(.published jp)[09-Feb-1998][1998-02-09]],
[TIME[2017-10-02T11:00:16.000Z]], [TIME[2024-08-24T06:35:42.196Z]] <https://www.w3.org/TR/1998/NOTE-compactHTML-19980209/>
-[60] 
[CITE@ja[DoCoMo Net - iモード対応XHTML]], 
[TIME[2024-08-24T12:20:54.000Z]], [TIME(.published jp)[2003-02-10T18:16:34.827Z]] <https://web.archive.org/web/20030210181633/http://www.nttdocomo.co.jp/mc-user/i/xhtml/hikaku.html>

]REFS]
:注釈:
-
[DFN[[RUBYB@ja[文字参照]@en[character reference]]]]
[[マーク付け]]の一種。
[CH[&]] から始まり、何らかの[[文字]]を表す。

]FIG]


[FIG(quote)[
[FIGCAPTION[
[55] [CITE[Takesoft/HTML tag help appendex 1]]
([TIME[2013-08-17T15:44:00.000Z]], [TIME[2024-09-10T13:04:15.323Z]])
<https://www2a.biglobe.ne.jp/~takesoft/help/help_a1.html>
]FIGCAPTION]

>  ”&copy”は、番号指定で書くと”&#169”である。日本語では、文字コード表では、 169番目(16進数で0xA9)の位置に小さい半角のカタカナの”ゥ”を割り当てているためこのようになる。 従って、この”&copy”は、用いない方がよい。

]FIG]


[FIG(quote)[
[FIGCAPTION[
[56] [CITE[Takesoft/HTML tag help appendex 1]]
([TIME[2013-08-17T15:44:00.000Z]], [TIME[2024-09-10T13:04:24.074Z]])
<https://www2a.biglobe.ne.jp/~takesoft/help/help_a1.html>
]FIGCAPTION]

> ”&reg;”は、”&#174;”とおなじである。日本語では、0xAE(10進で174)には、 小さい半角カタカナの”ョ”が割り当てられている。

]FIG]


[FIG(quote)[
[FIGCAPTION[
[57] [CITE[Takesoft/HTML tag help appendex 1]]
([TIME[2013-08-17T15:44:00.000Z]], [TIME[2024-09-10T13:04:24.074Z]])
<https://www2a.biglobe.ne.jp/~takesoft/help/help_a1.html>
]FIGCAPTION]

> ”&reg;”は、”&#174;”とおなじである。日本語では、0xAE(10進で174)には、 小さい半角カタカナの”ョ”が割り当てられている。

]FIG]


[77] [CITE[JH中部支社i-mode]], [TIME[2025-05-21T09:47:10.000Z]] <https://web.archive.org/web/20060616201336im_/http://www.chubu.c-nexco.co.jp/i/>

ドコモSJIS

[80] [CITE@en[117422 - Using Turkish character "I" in edit boxes causes data loss after submitting the form]], [TIME[2025-05-21T14:02:14.000Z]] <https://bugzilla.mozilla.org/show_bug.cgi?id=117422>


[113] [CITE[Viet-Std Report 1992 - Bilingual Report]], [TIME[2025-10-28T14:46:59.000Z]], [TIME[1998-01-21T23:01:52.267Z]] <https://web.archive.org/web/19980121230022/http://www.trichlor.org/vietstd/report/rep92.htm>

大文字

>
[PRE[
       <font size="4">&COPY;</font>
]PRE]

>
[PRE[
     4.2 QUY Ð˜NH &QUOT;ÐšC Ð¿”C-TRONG-NGOƒC&QUOT; (VIQR) ........................... <a href="#page43">43</a>
]PRE]

>
[PRE[
  6. TÓM TT &AMP; KŠT LU‡N ................................................... <a href="#page49a">49</a>
]PRE]