Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
等幅は死んだ(ぇ
Search
tsuda.a
April 18, 2024
Programming
0
19
等幅は死んだ(ぇ
等幅って昔は常識でそれしか選択肢がなかったけど、今は絶滅危惧種で死に体ですよね?という話(汗
tsuda.a
April 18, 2024
Tweet
Share
More Decks by tsuda.a
See All by tsuda.a
キューとは何か
tsudaahr
0
90
いくら眺めてもエラーの理由がわからないコードについて
tsudaahr
0
39
何のために文字数をカウントするのか?
tsudaahr
0
15
文字 is 何?
tsudaahr
0
44
16進数は何型
tsudaahr
0
2
全銀トラブルとC言語とバッファオーバーフロー
tsudaahr
0
18
ライトワンスは改ざん防止の夢を見るか?
tsudaahr
0
5
Python自作シリアライズ
tsudaahr
0
42
Python から.net DLL を呼び出す
tsudaahr
0
580
Other Decks in Programming
See All in Programming
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
170
ServerAction で Progressive Enhancement はどこまで頑張れるか? / progressive-enhancement-with-server-action
takefumiyoshii
6
420
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
870
Behind VS Code Extensions for JavaScript / TypeScript Linnting and Formatting
unvalley
6
1.2k
雑に思考を整理する技術と効能
konifar
63
30k
CA.swift19 恋するAIアプリ開発の裏側
oskmr
0
380
スクラムガイドのスプリントレトロスペクティブを改めて読みかえしてみた / Re-reading the Sprint Retrospective Section in the Scrum Guide
mackey0225
3
480
Polars入門
daikikatsuragawa
1
170
Documentation for users with AsciiDoc and Antora
ahus1
0
370
Milestoner
bkuhlmann
1
410
Ruby Pattern Matching
bkuhlmann
0
930
PostmanでAPIの動作確認が楽になった話
h455h1
0
180
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
26
5.8k
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.2k
A Philosophy of Restraint
colly
197
16k
A Tale of Four Properties
chriscoyier
152
22k
Navigating Team Friction
lara
179
13k
What's in a price? How to price your products and services
michaelherold
238
11k
Clear Off the Table
cherdarchuk
85
310k
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Art, The Web, and Tiny UX
lynnandtonic
290
19k
Done Done
chrislema
178
15k
Transcript
等幅は死んだ(ぇ IT 系の濃ゆい話をする会 #14 LTDD 2024-4 #2 @tsuda_ahr
別のところのお話で • プログラミングで全角文字を使ったらエラーが出たでござる、という話があ りました。
岡山で話してきました。 https://speakerdeck.com/tsudaahr/ikuratiao-metemoeranoli-you-gawakaranaikodonituite
プログラミングするときに、どんなフォントを使っていますか? • もちろん等幅フォントですよね?
ここで言う「等幅フォント」とは? • 字種(‘M’と‘I’など)によらず、文字幅が固定。 • 和文を扱い、かつ、 英字部分と漢字部分の文字幅比が 1:2。 つまり英字部分は半角幅で、漢字部分は全角幅です。 • 全角幅の字形領域は正方形。
• 和文とは、主に過去 ShiftJIS を構成していた JIS X 0201(=英字部分) と JIS X 0208 (=漢字部分) のコードポイントの集合を指します。 したがって、それらコードに含まれる英数字および記号類も和文の範囲です。 • Unicode 系の JIS X 0208 以外の文字についての幅は未定義とします が、おおよそ半角幅または全角幅のどちらかに寄せてあるものとします。
選択肢 • Windows の場合 • MSゴシック • MS明朝 • Biz
UDゴシック • Biz UD明朝 • Mac • Osaka-Mono? • Linux • 知らぬ(汗
要するに? • 選択肢がほぼない、ということ(汗
プログラミング用フォント? • あれらって英字(=JIS X 0201) 部分を重視していて、漢字部分(=JIS X 0208) は重要 視してないですよね?
• あと、普通の人(=初学者/非プログラマー) の人はフォントをインストールしたりしない ので以下略(汗 意訳)標準フォント内でなんとかしたい
それでも • Windows だけで閉じられるなら、フォントを指定することで、なんとかなる。 • メールや Web など、異 OS 間で再現させようとすると死亡確定(汗
(相互互換するフォントがないので・・・)
たとえば • メールで、テキストで以下のような図を作っても、相手に正しく表示して もらえているかはわかりません。 MASTER SLAVE T+ ───┬─────── R+ T-
───│─┬───── R- R+ ───│─│─┬─── T+ R- ───│─│─│─┬─ T- │ │ │ │ ├─│─│─│─ R+ │ ├─│─│─ R- │ │ ├─│─ T+ │ │ │ ├─ T- │ │ │ │ └─│─│─│─ R+ └─│─│─ R- └─│─ T+ └─ T-
相手には • こんな感じでみえているかも? MASTER SLAVE T+ ───┬─────── R+ T- ───│─┬─────
R- R+ ───│─│─┬─── T+ R- ───│─│─│─┬─ T- │ │ │ │ ├─│─│─│─ R+ │ ├─│─│─ R- │ │ ├─│─ T+ │ │ │ ├─ T- │ │ │ │ └─│─│─│─ R+ └─│─│─ R- └─│─ T+ └─ T-
あと • 等幅と言っても、和文系フォントと英文系フォントで扱いが違う。
‘◦’が思ったより小さくなるフォントって見たことないですか? • たとえば Microsoft YaHei とか。 ABCxyz◦△□ghi123 • 同じ文字列を BIZ
UDPゴシック でみるとこんな。 ABCxyz◦△□ghi123
見たことない? • 等幅ではないですが、一番身近なのはサインインのパスワードかも? WinXP Win10 Win11 GitHub (Google Chrome v123)
昔は * だった。 Vista から • 従来に比べて太った感じ Win11から細身に? GitHubも細身
幅の概念が違う。 • 漢字 • 略(原稿用紙がイメージしやすい) • 英字 • x-Height (=高さ)を基準にして文字の幅が決まるっぽい。
( x-Height の高さ=等幅の場合の幅、みたいな感じ) ここが x-Height https://en.wikipedia.org/wiki/X-height
なので、欧文系の等幅は日本語の等幅と趣が異なる。 • 縦横比が必ずしも 1:2 ではない。 • 記号/罫線などの文字も英字と同じ幅。 (英字幅:記号類幅が 1:2 ではなく
1:1) • なので、日本語等幅と同じノリでレイアウトするとズレる。 https://dejavu-fonts.github.io/ DejaVu LGC Sans Mono ABCxyz◦△□ghi123 記号類が英字と同じ幅。
結局何さ? • かつてコンピューターのフォントといえば等幅が支配的だったのに、現在では プロポーショナルに席巻され死に体である。 • 昔は(特にインターネット以前は)等幅フォントによって成立していた表現が、 等幅フォントの衰退によって再現不能になりつつある。 • プログラミング界隈は等幅が使われているが、そのうちプログラミングもプ ロポーショナルフォントで行う時代がやってくるかも!!
(AI によって生身のプログラマーが淘汰されるのが先かもしれないが)
こちらからは以上です