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
45
等幅は死んだ(ぇ
等幅って昔は常識でそれしか選択肢がなかったけど、今は絶滅危惧種で死に体ですよね?という話(汗
tsuda.a
April 18, 2024
Tweet
Share
More Decks by tsuda.a
See All by tsuda.a
マジカルインクリメントと指数表記
tsudaahr
0
94
バックアップしていますか?
tsudaahr
0
64
RDB以前のファイル設計の話でもしようか(ぇ
tsudaahr
0
72
NPUわからん
tsudaahr
0
130
計算量オーダーの話
tsudaahr
1
310
クラウド初学者が抱える不安について
tsudaahr
0
180
キューとは何か
tsudaahr
0
170
いくら眺めてもエラーの理由がわからないコードについて
tsudaahr
0
120
何のために文字数をカウントするのか?
tsudaahr
0
54
Other Decks in Programming
See All in Programming
GitHubで育つ コラボレーション文化 : ニフティでのインナーソース挑戦事例 - 2024-12-16 GitHub Universe 2024 Recap in ZOZO
niftycorp
PRO
0
620
KubeCon NA 2024の全DB関連セッションを紹介
nnaka2992
0
100
Monixと常駐プログラムの勘どころ / Scalaわいわい勉強会 #4
stoneream
0
300
return文におけるstd::moveについて
onihusube
1
1.3k
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
800
開発者とQAの越境で自動テストが増える開発プロセスを実現する
92thunder
1
210
PSR-15 はあなたのための ものではない? - phpcon2024
myamagishi
0
200
Запуск 1С:УХ в крупном энтерпрайзе: мечта и реальность ПМа
lamodatech
0
780
rails statsで大解剖 🔍 “B/43流” のRailsの育て方を歴史とともに振り返ります
shoheimitani
2
990
KubeCon + CloudNativeCon NA 2024 Overviewat Kubernetes Meetup Tokyo #68 / amsy810_k8sjp68
masayaaoyama
0
270
create_tableをしただけなのに〜囚われのuuid編〜
daisukeshinoku
0
310
Recoilを剥がしている話
kirik
5
7.7k
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.7k
BBQ
matthewcrist
85
9.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
A better future with KSS
kneath
238
17k
Side Projects
sachag
452
42k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
The Pragmatic Product Professional
lauravandoore
32
6.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
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 によって生身のプログラマーが淘汰されるのが先かもしれないが)
こちらからは以上です