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
意外とフォントが大事だった話 / Font Issues on Internationaliz...
Search
fumi
September 08, 2024
Programming
0
170
意外とフォントが大事だった話 / Font Issues on Internationalization
fumi
September 08, 2024
Tweet
Share
Other Decks in Programming
See All in Programming
Reading Rails 1.0 Source Code
okuramasafumi
0
250
さようなら Date。 ようこそTemporal! 3年間先行利用して得られた知見の共有
8beeeaaat
3
1.5k
アプリの "かわいい" を支えるアニメーションツールRiveについて
uetyo
0
280
RDoc meets YARD
okuramasafumi
4
170
AI Coding Agentのセキュリティリスク:PRの自己承認とメルカリの対策
s3h
0
230
複雑なフォームに立ち向かう Next.js の技術選定
macchiitaka
2
220
Deep Dive into Kotlin Flow
jmatsu
1
370
プロパティベーステストによるUIテスト: LLMによるプロパティ定義生成でエッジケースを捉える
tetta_pdnt
0
3.3k
請來的 AI Agent 同事們在寫程式時,怎麼用 pytest 去除各種幻想與盲點
keitheis
0
130
ユーザーも開発者も悩ませない TV アプリ開発 ~Compose の内部実装から学ぶフォーカス制御~
taked137
0
190
Azure SRE Agentで運用は楽になるのか?
kkamegawa
0
2.5k
より安全で効率的な Go コードへ: Protocol Buffers Opaque API の導入
shwatanap
2
750
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Faster Mobile Websites
deanohume
309
31k
RailsConf 2023
tenderlove
30
1.2k
Practical Orchestrator
shlominoach
190
11k
What's in a price? How to price your products and services
michaelherold
246
12k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
How STYLIGHT went responsive
nonsquared
100
5.8k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
The Power of CSS Pseudo Elements
geoffreycrofte
77
6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Producing Creativity
orderedlist
PRO
347
40k
Transcript
意外とフォントが大事だった話 @Global Service Meetup 2024-09-05 株式会社スタディスト 高橋史裕
Teachme Biz多言語対応の略歴 • 2019年2月(たかはしjoin時点) ◦ UI は日本語、英語、タイ語に対応 • 2019年4月 ◦
タイ語でのマニュアル検索に対応 • 2022年1月 ◦ UI対応言語にベトナム語を追加 • 2023年3月 ◦ 自動翻訳機能
フォントが大事だった話 - タイ語
フォントが大事だった話 - タイ語 Before (Tahoma) After (Sarabun)
フォントが大事だった話 - タイ語 Before (Tahoma) After (Sarabun) • Beforeのほうは、現地の人からすると traditional
な印象を受ける • 日本語だと「コースをクリックしてください」みたいなかんじ?
フォントが大事だった話 - ベトナム語
フォントが大事だった話 - ベトナム語 Before (Hiragino) After (Arial)
フォントが大事だった話 - ベトナム語 Before (Hiragino) After (Arial) • Beforeのほうは、声調記号を正しく表示できていない ◦
声調記号 = 母音(â)のイントネーションを指示する記号 ◦ 12の母音と6つの声調があるらしい
フォントが大事だった話 - ミャンマー語
フォントが大事だった話 - ミャンマー語 Before (Zawgyi-One) After (Noto Sans Myanmar)
フォントが大事だった話 - ミャンマー語 Before (Zawgyi-One) After (Noto Sans Myanmar) •
同じ文章か?っていうレベルで違う • どうして (・ω・`)
ミャンマー語フォント問題 歴史的経緯 (1/2) • ミャンマー語は文字体系が複雑で Unicode 対応が遅れた ◦ ある文字が前後の文字に応じて形を変える ◦
文字が発音される順番に並ばない • その間に Zawgyi という独自フォントが生まれ発展した ◦ フォントではあるものの独自の文字割当があり、 それ自体が文字コードのようなものになっている • 国内では Zawgyi が事実上の標準になるまで普及した • が、2019年に国が正式に Unicode への切り替えを宣言
ミャンマー語フォント問題 歴史的経緯 (2/2) • 2つのフォントには互換性がなく、旧来の Zawgyi テキストで書かれたサイ トを Unicode フォントで表示すると文字化けして見える
• Zawgyi テキストはかなり普及しているため、Unicode フォントだとまともに 表示されないサイトも多い ◦ PCショップが「善意で」Unicodeフォントをアンインストールすることもあ る • 逆に Google 翻訳は Unicode テキストを返すので Zawgyi フォントで表示 すると文字化けして見える
フォントが大事だった話 - ミャンマー語(再掲) Before (Zawgyi-One) After (Noto Sans Myanmar) •
同じ文章か?っていうレベルで違う • どうして (・ω・`)
ミャンマー語フォント問題 参考文献 ZawgyiとUnicode: 普及しすぎたミャンマーの オレオレ文字コードと国際化 Hyalinios https://techbookfest.org/product/fCgCckmBRH 8qb5BE22LVW9?productVariantID=sArJPvFs QPtyqCjgSj3wzR
(わき道)Webフォントってどうなんでしょうか? • 前述の問題はすべて「font-family の変更」と「ユーザーへのフォントインストール案 内」の合わせ技で対応した • font-family の指定は推奨フォントの提案に過ぎず、結局はデバイスフォントで表示 される •
Webフォントであればすべての端末に同じ見た目を提供できる(はず) • 一般的に言われるデメリット ◦ ファイルサイズ起因の問題 ◦ ライセンスの問題 ◦ …… • 導入の知見あれば伺いたい m(_ _)m
〆
〆 言語・文化の壁を越え、より良いコミュニケーションを目指すため 「伝える」ための細部にこだわり、より良いプロダクトを作ろう • Webサービスを多言語に展開する際、ただ翻訳するだけでは不十分かも • 適切なフォントを選ぶことは印象や情報の正確な伝達に不可欠 • 「伝えることを、もっと簡単に。」← 弊社のコーポレートミッション
ありがとうございました
話者紹介 開発本部 > TMBエンジニアリング部 > CREグループ > たかはし • 特技・趣味
◦ ペンギン ◦ 櫻坂46/欅坂46 ◦ 歩くこと ◦ 575を見つけること • さいきんのたかはし ◦ 仕事 ▪ n-gram検索対応 ▪ ベクトル検索対応 ◦ プライベート ▪ 滋賀県にいってきました