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
iOS のテキストレイアウトがむずかしい話
Search
Tomoki Kobayashi
December 02, 2016
Programming
2
2.1k
iOS のテキストレイアウトがむずかしい話
Mobile Act NAGOYA #3 の LT 資料
https://mobileactnagoya.connpass.com/event/44624/
Tomoki Kobayashi
December 02, 2016
Tweet
Share
More Decks by Tomoki Kobayashi
See All by Tomoki Kobayashi
Ruby×iOSアプリ開発 ~共に歩んだエコシステムの物語~
temoki
0
1.4k
Liquid Glass を Metal Shader で描きたいだけの人生だった…
temoki
0
43
Skip Skip Run Run Run ♫
temoki
0
680
さようならRxSwift こんにちは*****
temoki
1
410
Androidで不安定なPlatform Viewsとの闘い
temoki
0
940
iOSパッケージマネージャー奮闘記 完結編
temoki
2
610
事業譲渡を受けたアプリとの統合で失敗、 そしてユーザーからの評価回復に至るまで
temoki
1
660
Apple Vision Proデベロッパラボに参加してきた
temoki
0
500
年末年始の成果、そして現状の紹介
temoki
0
230
Other Decks in Programming
See All in Programming
株式会社 Sun terras カンパニーデック
sunterras
0
340
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
520
Go言語はstack overflowの夢を見るか?
logica0419
0
370
Devoxx BE - Local Development in the AI Era
kdubois
0
130
CSC509 Lecture 05
javiergs
PRO
0
300
品質ワークショップをやってみた
nealle
0
500
Six and a half ridiculous things to do with Quarkus
hollycummins
0
180
One Enishi After Another
snoozer05
PRO
0
110
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
3
210
ALL CODE BASE ARE BELONG TO STUDY
uzulla
25
6.2k
SwiftDataを使って10万件のデータを読み書きする
akidon0000
0
150
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
200
Featured
See All Featured
Designing for Performance
lara
610
69k
Producing Creativity
orderedlist
PRO
347
40k
Music & Morning Musume
bryan
46
6.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
369
20k
Git: the NoSQL Database
bkeepers
PRO
431
66k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
What's in a price? How to price your products and services
michaelherold
246
12k
Writing Fast Ruby
sferik
629
62k
Transcript
J04ͷ5FYU-BZPVU͕ Ή͔͍ͣ͠ Mobile Act NAGOYA #3
#1 Play Back λΠτϧཾҰ͞ΜͷεϥΠυͷӨڹ
#1 Play Back σβΠϯͷ࣮Ή͔͍ͣ͠ͱ͍͏͓Λ͠·ͨ͠
#1 Play Back σβΠϯͷ࣮Ή͔͍ͣ͠ͱ͍͏͓Λ͠·ͨ͠
#1 Play Back σβΠϯͷ࣮Ή͔͍ͣ͠ͱ͍͏͓Λ͠·ͨ͠
#1 Play Back σβΠϯͷ࣮Ή͔͍ͣ͠ͱ͍͏͓Λ͠·ͨ͠
ΞϓϦσβΠϯݚڀձ w ΞϓϦΤϯδχΞͱσβΠφʔ͕ू·ͬͯ ఆظతʹ࣮ࢪ͍ͯ͠Δࣾษڧձ w σβΠφʔͷҙਤͲ͓Γ࣮͢Δͷ͕ Ή͔͍ͣ͠ͱ͍͏ͷ͕ۙͷͷத৺ w ಛʹʮςΩετϨΠΞτʯ͕ϗοτʂ
ςΩετϨΠΞτ 6*-BCFMͰ͢ΒϨΠΞτ͕͏·͍͔͘ͳ͍ʂ ΤϯδχΞσβΠφʔͷϛεͰͳͦ͞͏ɻ w ςΩετͷஔҐஔ w ςΩετͷจࣈαΠζ w ςΩετͷߦؒ
ͦ͜Ͱ
ݕূΞϓϦ Λͭͬͯ͘Έͨ w 6*-BCFMΛϨΠΞτ w 6*'POU͔ΒಘΒΕΔ ϑΥϯτϝτϦΫεͷՄࢹԽ w /4"UUSJCVUFE4USJOHͷ /41BSBHSBQI4UZMFΛՄࢹԽ
ߦؒߦͷߴ͞ͷࢦఆ w (JU)VCͰެ։͍ͯ͠·͢ IUUQTHJUIVCDPNUFNPLJJ045FYU-BZPVU
ԤจϑΥϯτϝτϦΫε Type abc xAscender Cap Base Mean Descender Base Line
ͯ͢ͷจࣈͷج४ͱͳΔઢ Mean Line খจࣈͷߴ͞ͷج४ͱͳΔઢ Cap Line େจࣈͷߴ͞ͷج४ͱͳΔઢ Ascender Line খจࣈͷCIͳͲ͕࣋ͭΞηϯμʔͱݺΕΔ ਨͳઢͷ্෦ͷج४ͱͳΔઢ Descender Line খจࣈͷQͳͲ͕࣋ͭσΟηϯμʔͱݺΕΔ ਨͳઢͷԼ෦ͷج४ͱͳΔઢ ෳͷج४ઢͰߏ͞ΕΔ
ԤจϑΥϯτϝτϦΫε .lineHeight ςΩετ̍ߦͷߴ͞ .xHeight #BTFϥΠϯ͔Β.FBOϥΠϯ·Ͱͷߴ͞ .capHeight #BTFϥΠϯ͔Β$BQϥΠϯ·Ͱͷߴ͞ .ascender #BTFϥΠϯ͔ΒτοϓͷΦϑηοτ .descender
#BTFϥΠϯ͔ΒϘτϜͷΦϑηοτ ෛ 6*'POUͷϓϩύςΟͰѲͰ͖Δ Type abc x .lineHeight .ascender .descender .capHeight .xHeight
จϑΥϯτϝτϦΫε ʢࢀߟใʣจϑΥϯτͷϘσΟͱࣈ໘ Ѫ w จϑΥϯτͷจࣈͯ͢ಉ͡αΠζͷ ਖ਼ํܗྖҬʢʹϘσΟʣʹऩΊΒΕΔɻ w จࣈͦͷͷɺϘσΟΑΓҰճΓ খ͍͞ʮࣈ໘ʯͷதʹσβΠϯ͞ΕΔɻ ͜ΕɺจࣈΛฒͨͱ͖ʹจࣈؒʹ
దͳۭؒΛ࡞ΔͨΊɻ w 6*'POU͔Β͜ΕΒͷใಘΒΕͳ͍ ϘσΟ ࣈ໘ ͮ͡Β
Ή͔͍ͣ͠ࣄྫΛݕূ
ਨํͷஔ͕Ή͔͍ͣ͠ ࣈ໘ʹର͢Δ༨നͷӨڹ σβΠφʔ͕ ࢦఆ͢ΔϚʔδϯΛ ༨ന ༨ന ΤϯδχΞ͕ ࣮͢Δͱ͜͏ͳΔ ʢϑΥϯτʹґଘʣ
จࣈαΠζࢦఆ͕Ή͔͍ͣ͠ γεςϜϑΥϯτ߹ϑΥϯτͰ͢ ʢԤจ͕αϯϑϥϯγείɺจ͕ώϥΪϊ֯ΰγοΫʣ σβΠφʔγεςϜϑΥϯτΛҙࣝͯ͠ ώϥΪϊ֯ΰγοΫͰσβΠϯ͢Δ ΤϯδχΞγεςϜϑΥϯτΛࢦఆ͢Δ αΠζͲͪΒQUͳͷʹγεςϜϑΥϯτएׯখ͍͞ʂ
ߦؒͷࢦఆ͕Ή͔͍ͣ͠ʁ ߦؒ/41BSBHSBQI4UZMFͷMJOF4QBDJOHͰࢦఆ͢Δ ߦؒ ߦؒ
ߦؒͷࢦఆ͕Ή͔͍ͣ͠ʂ γεςϜϑΥϯτͰຊޠ͕ࠞ͡ΔͱߦͰߦ͕ؒ༩͞ΕΔ ߦؒ ΞϧϑΝϕοτͷΈ ຊޠΛؚΉ
ߦؒͷࢦఆ͕Ή͔͍ͣ͠ʂ γεςϜϑΥϯτͰͳ͘ώϥΪϊ֯ΰγοΫΛࢦఆ͢Δͱ ߦͷ߹Ͱߦؒ༩͞Εͳ͍☺ ώϥΪϊ֯ΰγοΫ γεςϜϑΥϯτ
ߦؒͷࢦఆ͕Ή͔͍ͣ͠❗ ώϥΪϊ֯ΰγοΫΛࢦఆ͢Δͱจࣈ͕ΕΔ$ ʢσΟηϯμʔෆɻ͓ͦΒ͘จϑΥϯτͱͯ͠ͷϘσΟΛ༏ઌʣ ώϥΪϊ֯ΰγοΫ QͷԼ͕Ε͍ͯΔ
·ͱΊ w J04ͷςΩετϨΠΞτΉ͔͍ͣ͠ w ͦͯ͠γϯϓϧͳղܾࡦ͕ݟ͔ͭΒͳ͍ w QYʹͩ͜ΘΔͱ͍͏ͷΉ͔͍ͣ͠
Ή͔͍ͣ͠
ࢀߟจݙ w .BTBTIJ0OPʮJ04ͷϑΥϯτͷʯ"-JBJTPO#-0( IUUQBLJTVUFDPNJPTIUNM w ,JTIJLBXB,BUTVNJʮ.BTUFSJOH5FYU,JUʯ IUUQTTQFBLFSEFDLDPNLJTIJLBXBLBUTVNJNBTUFSJOHUFYULJU w ํՆࢠʮ6*,JUపఈղઆʯΠϯϓϨεϒοΫε w
େ࡚ت࣏ʮλΠϙάϥϑΟͷجຊϧʔϧʯ4#$SFBUJWF