[24] [[URL]] の[[画面]]表示や[[印刷]]については、注意を要することがあります。

* bidi

@@

* 文脈

[FIG(short list)[ [16] [[URL]] を表示する
- [[アドレスバー]]
]FIG]

* 表示のために「壊された」URL

[40] 
[[Firefox]] の[[開発ツール]]の[[ネットワーク]]欄の[[要求URL]]や[[HTTPヘッダー]]中の [[URL]]
っぽい構文の文字列とみなされた部分は、勝手に[CH[…]]で省略されたり、
破壊的に[[パーセント復号]]されたりするようです。
[TIME[2025-04-29T06:57:59.000Z]]

[41] 
開発者向け機能で >>40 みたいなことされるとすごい辛いんですが... 
「生ヘッダー」を有効にすると元の値も見れるとは言え。

[42] [CH[…]]も[[パーセント復号]]もぱっとみで破壊的な変更が加わっていることがわからないのがまた。
右クリックからコピーしたら元の値ではなく表示上の値がコピーされてしまうのも酷い。


[43] [[Firefox]] って昔は開発者向け機能も頑張ってたイメージがあるのですけど、いつからこうなっちゃったんでしょうね。

** URL scheme や [CODE[//]] の省略

[SEE[ [[URLの省略]] ]]

** 大文字URL

[233] [CITE@ja[川を川が横断!?橋の上を水が流れる西川新川立体交差 | [[にいがたレポ]]]], [TIME[2022-11-23T07:21:01.000Z]] <https://niigata-repo.com/life/post-2555/>

[234] >>233 この[[Webサイト]]が使っている
[CITE[town]]
という[[フォント]]は[[ラテン文字]][[小文字]]の[[符号位置]]になぜか[[大文字]]と同じような[[字形]]が入っています。

[235] 
そのために記事中の [[URL]] が全部[[大文字]]で表示されています。
[[文字列]]データも[[リンク]]も正しい [[URL]]
なので、[[リンク先]]は正しいですし、
[[コピペ]]しても問題はないのですが、
表示だけがおかしい。 印刷して渡されたら[[リンク先]]にたどり着けません。

[236] 
デザイナーが [[URL]] を使うことを考えないで[[フォント]]を選んで、
記事の[[著者]]が [[URL]] の表示がおかしいことに気づかず公開されている
(または気づいても直せず放置している) といった感じでしょうか。

** 全角URL

-[226] [CITE@ja[西野 竜太郎/Ryutaro NishinoさんはTwitterを使っています: 「ニュース記事でURLを全角にしている犯人はこいつか? (共同通信社の『記者ハンドブック 第13版 新聞用字用語集』p.533より) https://t.co/a2GLJN46vh」 / Twitter]], 午後6:34 · 2019年5月8日 [TZ[+09:00]], [TIME[2022-08-23T10:41:55.000Z]] <https://twitter.com/nishinos/status/1126057709109895168/photo/1>

* 折り返し

[27] [[URL]] は長いので[[行折り返し]]が必要になることが多いです。

[28] しかし[[自然言語]]の規則 ([SEE[ [[禁則処理]] ]]) 
では適当な[[折り返し]]点が見つけられないことも多いです。

[31] 
[[URL]] の前後の区切子 [CH[<]], [CH[>]] などがあれば、その内側では[[折り返し]]
するべきではありません。

[29] 
記号類の前後では[[折り返し]]が可能とするべきです:
[CH[:]], [CH[;]],
[CH[/]],
[CH[,]],
[CH[?]], [CH[#]], [CH[=]],
[CH[@]],
[CH[_]]

;; [37] [CH[~]], [CH[$]], [CH[|]], [CH[+]] は含めても含めなくてもいいように思われます。

[30] 
[CH[/]] の連続の途中では[[折り返し]]するべきではありません。

[32] 
[CH[.]] の前で[[折り返し]]を可能とするべきですが、 [CH[.]] が[[行末]]に来るのは避けるべきです。

[33] 
[CH[-]] の前で[[折り返し]]を可能とするべきですが、 [CH[-]] が[[行末]]に来るのは避けるべきです。
[[hyphenation]] してはなりません。

[34] 
[[折り返し]]の結果行頭に [CODE[http:]] や [CODE[https:]] が来るのは避けるべきです。
可能なら他の主要な [[URL scheme]] も避けるべきです。

[EG[
[35] [[Internet Archive]] の [[URL]] のように途中に [[URL scheme]] 
風の文字列が含まれる場合です。
]EG]

[36] 
[CH[%]] の前で[[折り返し]]を可能とするべきですが、 [CH[%]] 
の後では[[折り返し]]するべきではありません。
可能なら [CH[%]] の後に[[ASCII十六進数字]]が2つ続いた後で[[折り返し]]を可能としても構いません。

[38] 
[[ASCII英数字]]が長く続くときは、その途中で[[折り返し]]可能とするべきです。
可能なら他の条件より優先度を低くするといいかもしれません。
例えば6文字[[以上]]のときとするとわりかしうまくいく場合がありますが、
常にそうかはわかりません。
分断の結果2文字以上になる、のような条件も付けてもいいかもしれません。

-*-*-

[39] 
[CITE@ja[Xユーザーの齊藤明紀さん: 「Word文書をPDFエクスポートすると、長いURLがハイフネーションされてマイナスが勝手に追加される。PDFビューワでリンクをアクセスすると余分なマイナスが入ったURLにアクセスしてしまいエラー。 回避策はあるんだろうか?」 / X]], [TIME[午後11:12 · 2025年1月14日][2025-01-14T14:12:58.000Z]], [TIME[2025-01-15T04:17:42.000Z]] <https://x.com/a_saitoh/status/1879169844861714633>


* 欧文書体と URL

[19] 
[[雑誌]]の[[参考文献]]欄を見てると、
[CH[(]],
[CH[)]],
[CH[/]]
が[[欧文]]の普通の[[記号]]を使っていると[[英数字]]の上下に出ちゃうのがちょっと不格好な感じしますね。
[CH[/]] は区切りだからまあいいとしても[CH[(]], [CH[)]] はそこで途切れちゃうような違和感を与えちゃうのが考えもの。

[20] 
[CH[-]], [CH[_]] が印刷書体だと区別が付きにくかったりもしますね。
両方あればどちらかわかるけど単独で出現するとどちらか迷っちゃうような。
普通の文章だと[CH[_]]はまず出てこないから、[CH[-]]が下めに配置されてても困らないのでしょうけど、
[[URL]]だと困ります。

[23] 
[[URL]]は通常書体でなくて [CODE[monospace]] 系フォントで印刷してるのもありますね。
それがいい。でも同じ雑誌の同じ号で記事ごとに [CODE[monospace]]
だったり本文と同じ [CODE[serif]] だったりするのは、著者の配慮次第みたいなところあるんでしょうか。
編集・校正しっかりせい。

[26] 
[[識別子]]の印刷書体は[[プログラマー]]が画面表示に使うような[[フォント]]を参考に選ぶのがいいのでしょうね。
そうすれば[CH[O]]と[CH[0]]の違いとか[CH[1]]と[CH[l]]の違いとかで迷うリスクも減らせそう。



[21] 
[[参考文献]]リスト中の文末だからと[[URL]]の後に[CH[.]]を付け足しちゃうと、
[[URL]]に含まれるのか含まれないのかよくわからなくなっちゃうのでよくない。
でも [[URL]]で終わるときには[CH[.]]を付けないのにそれ以外は昔からの伝統通りに
[CH[.]]を付けてる雑誌もあったりしてなんか落ち着かない。

[22] [[URL]]は[CH[<]], [CH[>]] で括ればその後に[CH[.]]を付けても曖昧さは生じないのに。


[44] 
[CITE@ja[XユーザーのAoiMoe a.k.aしお兄Pさん: 「URL とかメアドは等幅フォントで表示した方がいいと思うんだよな。そうすれば rnicrosoft みたいなのには引っかかりにくくなる」 / X]], [TIME[午後8:55 · 2025年10月27日][2025-10-27T11:55:56.000Z]], [TIME[2025-10-28T08:01:01.000Z]] <https://x.com/AoiMoe/status/1982778285781344374>


[51] 
[CITE@ja[untitled - 20251119h01592full00010032.pdf]], [TIME[2025-11-18T05:39:12.000Z]], [TIME[2025-12-08T14:38:20.721Z]] <https://www.kanpo.go.jp/20251119/20251119h01592/pdf/20251119h01592full00010032.pdf#page=32>


[52] >>51 [CH[-]] だけ和文書体のものが使われているのでしょうか、周りの[[英字]]に比べて位置が高すぎて
[CH[-]] であることがわかりにくい横線になってしまってます。
[[数字]]や[[英字]]でも[[大文字]]とは合っているので、
[[小文字]]とだけ合わないのでしょうか。変ですね。
[[和文]]とか[[欧文]]とかの問題ではなくて、
[[縦書き]]用に寝かせているせいで位置揃えが狂っているのでしょうか。

[53] >>51 [CH[_]] は視認性には問題ないものの、ちょっと低すぎて美しくないですね。

* 印刷媒体における非ASCII文字の扱い

[17] 
[[可搬性]]のため、印刷媒体では[[非ASCII文字]]を使うべきではありません。
[[非ASCII文字]]は[[パーセント符号化]]された状態とするべきです。

;;
[18] 
一般的な
[[Webブラウザー]]では[[リンク先]]の [[URL]] を[[コピー]]すると自動的に[[パーセント符号化]]された状態になります。


- [14] [CITE@ja[Xユーザーの猫分儀スミレ🏳️‍⚧️Nekobungi Sumireさん: 「本題と逸れるんだけどこのURL表記もうちょっとどうにかならなかったのかしら…」 / X]], [TIME[午後1:11 · 2024年6月17日][2024-06-17T04:11:43.000Z]], [TIME[2024-06-17T03:41:11.000Z]] <https://x.com/nekobungi/status/1802554693652262928>
-- [11] [CITE@ja[Xユーザーの猫分儀スミレ🏳️‍⚧️Nekobungi Sumireさん: 「URLにおける非ASCII文字のエンコード方法は確かUTF-8が標準と決まっている(※他のエンコード方法が排除されているわけではない)ので、UTF-8の仮名文字を使ったURLを物理メディアに印字する際はそのまま仮名文字を使って表記するのが規格上妥当ではないかと思うが、どうなのだろうか」 / X]], [TIME[午後1:25 · 2024年6月17日][2024-06-17T04:25:30.000Z]], [TIME[2024-06-17T03:41:11.000Z]] <https://x.com/nekobungi/status/1802558162589175932>
- [12] [CITE@ja[Xユーザーの❄雪下❄さん: 「やはりインターネット文化を当たるにはニコ百が無いとな 頑張ってくれ…… (それはそれとして,いまどきURLにマルチバイト文字使っても普通に飛べるんだからURLエンコードやめよう)」 / X]], [TIME[午後1:35 · 2024年6月17日][2024-06-17T04:35:50.000Z]], [TIME[2024-06-17T03:41:11.000Z]] <https://x.com/Mopepe51/status/1802560763711861009>
- [13] [CITE@ja[XユーザーのIchiyo Oboroanさん: 「本当にクソどうでもいいんだけど、書籍に載せるurlで文字コードベタ打ちなのやめて欲しい 日本語でもちゃんとアクセスできるから日本語で書いて」 / X]], [TIME[午後1:35 · 2024年6月17日][2024-06-17T04:35:39.000Z]], [TIME[2024-06-17T03:41:11.000Z]] <https://x.com/Oboroan_1chi/status/1802560717134131615>

[15] 書籍に印刷する [[URL]] を[[パーセント符号化]]するなという声がちらほら。

[237] 見にくいし入力しにくいという気持ちはわからないことはないのだけど、
一方で[[パーセント符号化]]していてくれたおかげで[[可搬性]]が保たれているというのも否定できないんだよなあ。

[238] この場合学術書であるということもあって、このURLを入力する人が[[日本語入力]]に堪能とも限らないわけだしねえ。
[[URL]] じゃないけど[[ハングル]]表記の[[論文]]探すのに苦労したことある身としては、
[[母語]]でない人にとっては[[ASCII文字]]だけで済むのは本当にありがたい。

[240] 今なら[[OCR]]で読めるだろって言われそうだけど、それをいうなら[[パーセント符号化]]されてるのも [[OCR]] でより確実に読めるんだから変わんないよね。

[239] [[ASCII帝国主義]]かよって言われかねない案件だけど、 [[URL]] って基本機械が読む[[識別子]]だしねえ。
[[ASCII]] が基本なのは仕方ないよ。

[241] 書く方の気持ちになってみても、[[ブラウザー]]で [[URL]] を[[コピー]]したら普通は[[パーセント符号化]]した状態で出てくるんだから、
著者か編集者が手動で[[パーセント復号]]するんか、そりゃおかしいだろ、って。

[243] 
それにどの[[文字]]を[[復号]]していいかって難しいぞ。記号類とか。
[CH[(]]とか[CH[_]]とか[[復号]]したら、[[半角]]と[[全角]]とかちゃんと印刷できる?
印刷時に区別つかなくならない? [CH[_]] の[[半角]]と[[全角]]と
[CODE[__]] と区別できる? [CH[-]] と [CH[‐]] と [CH[―]] と [CH[ー]]
と区別できる? 区別して印刷できたとして読者がちゃんと入力できる?
[[ASCII]] だけでも [CH[1]] と [CH[l]] とか難しいのに、
[[非ASCII文字]]が入ってくると難易度爆上げやぞ。

[244] 
うまく[[復号]]したい[[文字]]、したくない[[文字]]を選べたとして、
したい[[文字]]だけ[[復号]]してあとは[[パーセント符号化]]を残す、
って操作、著者や編集者に正しくできる? そんなの編集者に求められる技術じゃないだろ?

[245] 
[[DTP]] オペレーターだって [[URL]] をろくに理解してないから、[CH[.]]
の後に[[アキ]]を入れたり、 [[URL]] の途中で[[ハイフネーション]]してたりすることがあるくらいなのに、
[[非ASCII文字]]まで入ってきてまともに[[組版]]できる人どんだけいるよ?

[242] [[URL]] の[[文字コード]]どうすんだってのは技術的には20年以上前に決着した話で
(仕様上正式には10年ちょっとか? [[IRI]] のせいで実装より10年くらい遅れてるけど)、
それなのに未だに[[ASCII]]表記が続いてるのはそれなりに意味があることだと知るべきだな。



[25] 
[[URL]] に[[濁音]]が入ってると、 [[NFC]] か [[NFD]] かみたいな問題になりかねないよね。
どちらも見た目は完全に一緒だから、読者がどちらか判断して入力するのは不可能だし、
著者や編集者がこの[[濁音]]は[[パーセント復号]]しても安全、とか判断するのも困難。
全部一律で[[パーセント符号化]]する以外に選択肢はないよ。


[50] 
[[漢字]]も似たような[[字形]]のがいっぱいあるからね。[[日本人]]だから[[日本語]]は簡単に入力できるよね、っていわれてそれが成り立たないのが[[多様性]]ってやつ。

* 印刷媒体における URL 記述法としての QR コード

[45] 印刷媒体では [[URL]] に、空間的余裕があれば、 [[QRコード]]を添えるべきです。

;; [48] 
ただ現実には空間がないことがあって難しい。

[46] 印刷媒体では [[QRコード]]に必ず [[URL]] を添えるべきです。

;; [47] [[QRコード]]しか掲載しない事例が多数ありますが、
[[カメラ]]や [[QRコード]]読み取り機能がない端末からアクセスが出来ず、
困ることがよくあります。

[49] [[PDF]] など印刷を想定した電子媒体では、 [[QRコード]]はそれが表す [[URL]]
への[[リンク]]に設定するべきです。

* 関連

[SEE[ [[URL自動リンク]]、[[文字のセキュリティー]]、[[英数字列の読み仮名]] ]]

* メモ

[2] [CITE@en[RE: Concerns about new domain names,  particularly non-Latin-scripts   -- getting the tech community together]]
([[Shawn Steele]]著, [TIME[2015-10-30 02:13:26 +09:00]])
<https://lists.w3.org/Archives/Public/public-iri/2015Oct/0005.html>

[4] [CITE@en[Source/WebCore/platform/mac/WebCoreNSURLExtras.mm - external/Webkit - Git at Google]]
([TIME[2019-01-05 21:15:18 +09:00]])
<https://chromium.googlesource.com/external/Webkit/+/master/Source/WebCore/platform/mac/WebCoreNSURLExtras.mm>

[5] [CITE@en[gecko-dev/test_idn_blacklist.js at master · mozilla/gecko-dev]]
([TIME[2019-01-05 21:17:48 +09:00]])
<https://github.com/mozilla/gecko-dev/blob/master/netwerk/test/unit/test_idn_blacklist.js>

[6] [CITE@en[webkit/WebCoreNSURLExtras.mm at c9953af06bcf8707a0764a84a4a03a581dbe18a0 · WebKit/webkit]]
([TIME[2019-01-06 14:33:45 +09:00]])
<https://github.com/WebKit/webkit/blob/c9953af06bcf8707a0764a84a4a03a581dbe18a0/Source/WebCore/platform/mac/WebCoreNSURLExtras.mm>

[7] [CITE@en[Guidelines for URL Display]], [TIME[2019-12-07 16:57:58 +09:00]] <https://chromium.googlesource.com/chromium/src/+/master/docs/security/url_display_guidelines/url_display_guidelines.md>

[3] [CITE[IDN in Google Chrome - The Chromium Projects]], [TIME[2019-12-07 14:54:35 +09:00]] <https://www.chromium.org/developers/design-documents/idn-in-google-chrome>

[8] [CITE@en[IDN Display Algorithm - MozillaWiki]], [TIME[2019-12-07 10:35:35 +09:00]] <https://wiki.mozilla.org/IDN_Display_Algorithm>

[9] [CITE@en[Restructure URL rendering section and add additional guidance]]
([[estark37]]著, [TIME[2019-04-04 23:49:46 +09:00]])
<https://github.com/whatwg/url/commit/8809598ddfd1d935432c8a0cad53f13d70e24bc6>

[10] [CITE@en[Restructure URL rendering section and add additional guidance by estark37 · Pull Request #434 · whatwg/url]]
([TIME[2019-12-07 18:28:19 +09:00]])
<https://github.com/whatwg/url/pull/434>