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
Introduction to Font and Typesetting
Search
Shigure Shimotori
August 31, 2018
Programming
4.1k
4
Share
Introduction to Font and Typesetting
iOSDC Japan 2018
https://iosdc.jp/2018/
フォントと組版の30分入門
#iosdc #c
Shigure Shimotori
August 31, 2018
More Decks by Shigure Shimotori
See All by Shigure Shimotori
AsyncSequenceとAsyncStreamのプロポーザルを全部読む!!
s_shimotori
1
470
アメ車でサンノゼを走ってきたよ!
s_shimotori
0
360
おっと、お飲みごろの時間です!
s_shimotori
1
160
Synchronizationを支える技術
s_shimotori
1
310
1人で挑むSwiftコンパイラ 〜型システム入門編〜
s_shimotori
0
1.3k
英語
s_shimotori
1
1.1k
Parallel Socket Communication in Swift
s_shimotori
1
970
UIColor Anatomy
s_shimotori
1
3k
UIColor Cluster
s_shimotori
1
850
Other Decks in Programming
See All in Programming
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
1
120
いつか誰かが、と思っていた フロントエンド刷新5年間の実践知
kiichisugihara
1
280
ついに来た!本格的なマルチクラウド時代の Google Cloud
maroon1st
0
440
Are We Really Coding 10× Faster with AI?
kohzas
0
180
ふにゃっとしない名前の付け方 〜哲学で茹で上げる、コシのあるソフトウェア設計〜
shimomura
0
120
Agentic AI & UI: Arcitecture, HITL, Emerging Standards
manfredsteyer
PRO
0
110
Spec-Driven Development with AI Agents (Workshop, May 2026)
antonarhipov
3
370
書き換えて学ぶTemporal #fukts
pirosikick
2
380
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
5
1.7k
Programming with a DJ Controller — not vibe coding
m_seki
3
860
Spec Driven Development | AI Summit Vilnius
danielsogl
PRO
1
160
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
390
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
1.2k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
For a Future-Friendly Web
brad_frost
183
10k
Raft: Consensus for Rubyists
vanstee
141
7.4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
290
The Curse of the Amulet
leimatthew05
1
12k
4 Signs Your Business is Dying
shpigford
187
22k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
240
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
250
Transcript
ࢿྉ !4@4IJNPUPSJ@QVCͷݻఆπΠʔτ
ϑΥϯτͱ൛ͷ30ೖ iOSDC Japan 2018 2018/08/31 ͠ͱΓ @S_Shimotori_pub
ࣗݾհ ͠ͱΓ ɹɹ @S_Shimotori_pub iOSDC ωοτϫʔΫνʔϜ ※ઈରϑΥϯτײ͋Γ·ͤΜ
ຊ
iOSΤϯδχΞʹ ฉ͍ͯཉ͍͠τʔΫ ʢ30ʣ
ϚδͰΨνͳτʔΫͰ͢ʂ
໘ന͍͔Βฉ͍ͯ΄͍͠τϐοΫ • ϑΥϯτͱ൛ͱ • ͍Ζ͍Ζͳݴޠͱ൛ • ҹΛ࡞Δ
ϑΥϯτͱ൛ͱ
׆൛ҹͷ༻ޠͰ͢ʂ
׆൛ҹͷͳ͕Ε ׆ࣈΛ Έ൛ʹͯ͠ Δʂ ҹതؗʹͯɻ
None
ϑΥϯτ ίϯϐϡʔλʔͰ͏จࣈͷσβΠϯͷ͜ͱɻ׆ࣈͷ࣌ ʹɺಉ͡ॻମͰಉ͡αΠζͷ׆ࣈηοτΛࢦ͢ݴ༿Ͱ ͕͋ͬͨɺిࢉࣸ২DTPͰͻͱͭͷϑΥϯτͰ֦େ ॖখɺมܗ͕Ͱ͖ΔͨΊɺଠࣈࣼମͳͲͷελΠϧΛؚ ΊͯϑΥϯτͱݺͿΑ͏ʹͳͬͨɻ ASCII σδλϧ༻ޠࣙయΑΓ
None
Ͱձࣾͷ׆ࣈ͕… ͳ͔ͱΏ͏(@nakamotoyuu) https://twitter.com/nakamotoyuu/status/1008488924644163585
൛ ݪߘʹج͍ͮͯ׆ࣈΛΈɼ࠷ऴతʹ൛Λ࡞Δ·Ͱͷ ࡞ۀ͓Αͼͨ͠൛ɽ ʢதུʣ खಈɼػց͞ΒʹίϯϐϡʔλͰ͋ͬͯɼ൛ͱ͍͏ දݱΘΕ͍ͯΔɽ ਤॻؗใֶ༻ޠࣙయ ୈ4൛ΑΓ
ݱࡏʢ1985ʙʣ
׆൛ҹͷ͓͜͜·Ͱʂ
͍Ζ͍Ζͳݴޠͱ൛
͜Μͳͱ͜Ζʹ൛͕ʂ • ӳޠͰ #શ෦ಉ͡͡Όͳ͍Ͱ͔͢ SPACEฤ • ຊޠͰiOSॎॻ͖ʹઓ • λΠޠͰTall Script
• ΞϥϏΞޠͰRTLͱ߹ࣈ
ӳޠͰ #શ෦ಉ͡͡Όͳ͍Ͱ͔͢ SPACEฤ
https://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9
https://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9 શ෦ಉ͡͡Όͳ͍Ͱ͔͢
ͬͱΑ͘ݟΖʂ
͓ l*OUSPEVDUJPOUP'POUBOE5ZQFTFUUJOHz
͓ l*OUSPEVDUJPOUP'POUBOE5ZQFTFUUJOHz
※SF Pro Text
εϖʔεͱΞΩ U+2003 EM SPACE U+2002 EN SPACE U+2004 THREE-PER-EM SPACE
U+2005 FOUR-PER-EM SPACE U+2006 SIX-PER-EM SPACE
εϖʔεͱΞΩ U+2003 EM SPACE U+2002 EN SPACE U+2004 THREE-PER-EM SPACE
U+2005 FOUR-PER-EM SPACE U+2006 SIX-PER-EM SPACE
͓ᶄ
EN ENͱ1/4EM InDesign ΞΩࣗಈ ※ώϥΪϊ֯ΰγοΫ
ຊޠͰiOSॎॻ͖ʹઓ
None
͓ lʰϑΥϯτͱ൛ͷೖʱz
ʰaOϑaOΥaOϯaOτaOͱaOaO൛aOͷaOʜ
1ߦ1จࣈ
1ߦ1จࣈ ͓खຊ
͖͕͓͔͍͠ ❌ ❌ ❌ ❌ ❌ ͓खຊ ͖͕͓͔͍͠
ࠨԼʹدͬͯΔ ࠨʹدͬͯΔ
͖͕͓͔͍͠ ❌ ❌ ❌ ❌ ❌ ͓खຊ ͖͕͓͔͍͠
ࠨԼʹدͬͯΔ ࠨʹدͬͯΔ
͖͕͓͔͍͠ ❌ ❌ ❌ ❌ ❌ ͓खຊ ͖͕͓͔͍͠
ࠨԼʹدͬͯΔ ࠨʹدͬͯΔ
1ߦ1จࣈํࣜͷ • ه߸ͷ͖͕ԣॻ͖ͷ·· • ፠ԻͷҐஔԣॻ͖ͷ·· • ֯ӳࣈͷҐஔ͕ࠨʹدͬͯ͠·͏ ❌
❌ ❌ ❌ ❌
ຊޠͷॎॻ͖Ͱඞཁͳ࡞ۀ • ॎॻ͖༻ͷάϦϑΛ͏ • தԝἧ͑ͰฒΔ • JIS X 4051ͷఆΊΔͱ͜Ζʹै͏
άϦϑ ܗঢ়ʹ͍ͭͯͷநత֓೦ 1ͭͷจࣈʹෳͷάϦϑ͕͋Δ͜ͱ ɹɹe.g. Χοί։͖ʹɹɹͱɹɹͷ͔͕ͨͪ͋Δ ɹɹɹɹ፠ԻࠨԼʹॻ͘ͱ͖ͱӈ্ʹॻ͘ͱ͖͕͋Δ ʰ ʰ
ॎॻ͖༻άϦϑ ϑΥϯτʹΑͬͯผʹ༻ҙ͋Γ ༻ҙ͕ͳͯ͘90ճసͤ͞ΕOK ❌ ❌ ✅ ✅ ✅
https://developer.apple.com/documentation/foundation/nsattributedstring/key/1528658-verticalglyphform “1 indicates vertical text” “horizontal text is always used”
“1 indicates vertical text” “horizontal text is always used” https://developer.apple.com/documentation/foundation/nsattributedstring/key/1528658-verticalglyphform
glyph typesetting
จࣈͷฒ͔ͨ ӳޠbase lineͰϕʔεฒͼɺ ຊޠจࣈͷதԝͰηϯλʔฒͼ
❌ ❌ ✅ ✅ ✅
தԝ͕ἧ͏Α͏ʹฒΔ ෯ϑΥϯτΛ͏ or શ֯ӳࣈΛ͏ or CoreTextͷग़൪ ✅ ✅
✅ ✅ ✅
λΠޠͰTall Script λΠจࣈ·Ώ͛
λΠޠͷಛ • λΠจࣈΛ༻͍Δ • Tall scriptͷҰछ λΠจࣈ·Ώ͛ สวัสดีชาวโลก!
λΠจࣈ·Ώ͛
λΠจࣈ·Ώ͛ ϓϦοπͷϥʔϒຯʂ
λΠจࣈ·Ώ͛ ϓϦοπͷϥʔϒຯʂ
λΠจࣈ·Ώ͛ αϥμຯ
λΠจࣈ·Ώ͛
λΠจࣈ·Ώ͛
ΞϥϏΞޠ
ΞϥϏΞޠͷಛ • ΞϥϏΞจࣈΛ༻͍Δ • ӈԣॻ͖ • ߹ࣈ
ӈԣॻ͖ Right-to-Left ӈ͔Βࠨͷ͖Ͱॻ͍͍ͯ͘͜ͱ ݱ࣮ʹRTLͱLTR͕ࠞࡏ͢ΔํςΩετʹͳΔ
https://www.apple.com/ https://www.apple.com/ae-ar/
iOSʹ͓͚ΔRTL UIViewΛӈ͔Βࠨʹஔ navigationࠨ͕nextɺӈ͕back Ұ෦ͷΞΠίϯΛमਖ਼(సͳͲ)
࣌ܭճΓͲͬͪճΓʁ
߹ࣈ Ligature ྡΓ߹ͬͨೋͭͷจࣈ຺ུ͕ͷ͋Δ͔ͨͪͱͯࣗ͠વʹ Έ͑ΔΑ͏Ͱ͖ͨάϦϑ fi et &
ΞϥϏΞޠͷ߹ࣈ ߹લ ߹ޙ ❓❓❓
ΞϥϏΞޠͷ߹ࣈ ߹લ ߹ޙ
ݴޠͷ͓͜͜·Ͱʂ
ҹΛ࡞Δ
ೖߘͷྲྀΕ
ҹΛ࡞Δ͓ • PDFͱϑΥϯτͷ͓ • ϦονͳΦϓγϣϯ
PDFͱϑΥϯτͷ͓
࠶ܝɿAppleͱAdobeͷਤ AldusAdobe͕ඒຯ͘͠৯·ͨ͠
PDF͕อ࣋͢Δใʢྫʣ • ༻ࢴαΠζ • ϑΥϯτใ • ίϯςϯπΛஔ͢ΔҐஔ • ςΩετ •
ਤܗ
ϑΥϯτσʔλͲ͜ʁ Ӿཡऀͷίϯϐϡʔλʹ͓·͔ͤ or ඞཁͳͿΜΛPDFࣗͰอ࣋ or ΞτϥΠϯԽͯ͠ϑΥϯτใഁغ ຒΊࠐΈʁ Apple
Chancery →
ϦονͳΦϓγϣϯ
ͩ͜ΘΓϙΠϯτ͜͜ʂ ☑ ࢴ͕ްΊ ☑ ಛघࢴΛ͍ͬͯΔ ☑ ༡ͼࢴΛೖΕ͍ͯΔ ☑ ഩΛೖΕ͍ͯΔ ☑
৭͕ଟ͍ ☑ ಛ৭Λ͍ͬͯΔ ໊ʹ͓ۚΛ͏ͷָͦ͠͏
Ҏ্ʂ
·ͱΊ • ׆൛ҹͷӨڹະͩڧ͠ • ֤ݴޠͷಛͷѲ͕େࣄ • ॎॻ͖қ͕ߴ͍ • ࣮ߦҕһޫΓ͕͖ͬͯ͝ຊਓ͕͓ͬ͠Όͬͯ·ͨ͠
ͨͷ͍͠ࢀߟจݙ • https://github.com/S-Shimotori/iOSDC2018Draft • Book/bibliographies Referenfe.md ͋ͨΓ • Θͨ͠ͷiOSDCײϒϩάʹਪનਤॻॻ͔͘
• ฉ͍ͯʂ
, ͓͠·͍ʂ