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
构造基于Coretext的排版引擎
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
cngump
May 06, 2013
Programming
480
1
Share
构造基于Coretext的排版引擎
构造基于Coretext的排版引擎
cngump
May 06, 2013
More Decks by cngump
See All by cngump
iOS开发中的MVC
cngump
2
1.8k
IM DIY
cngump
1
260
Mac OS APP 的沙盒和相关审核技术
cngump
0
580
基于Xamarin 2.0的跨平台移动开发
cngump
0
150
Other Decks in Programming
See All in Programming
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
260
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
120
dRuby over BLE
makicamel
1
270
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
230
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.2k
新規プロダクトを高速で生み出すハーネスエンジニアリング
seanchas116
19
7.8k
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.8k
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
11k
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
300
Inspired By RubyKaigi (EN)
atzzcokek
0
490
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
1k
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
170
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Navigating Team Friction
lara
192
16k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
540
Deep Space Network (abreviated)
tonyrice
0
160
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
Agile that works and the tools we love
rasmusluckow
331
21k
Test your architecture with Archunit
thirion
1
2.3k
Amusing Abliteration
ianozsvald
1
190
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
170
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
310
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
260
Transcript
构造基于Coretext的排版引擎
Coretext是什么? Core Text framework 是iOS 及 Mac OS X下底层的
文字处理及字体渲染的API集合,简洁、高效。 CTLine CTRun CTFont Core Text 类 CTFramese=er 给定文本及页面参数,在页 的层级进行自动化排版* CTTypese=er 给定文本,在行的层级执行 断行等排版工作* CTFrame 页对象* CTLine 行对象 CTRun 字形集合对象 CTFont 字体对象
从html到矢量图形集合的映射 Css2.0全面兼容、3.0部分兼容 渲染效率(web kit)、版式处理效率(javascript)
断行,行首、末标点规则
图片甩版
自定义控件、事件
NSRange <-‐> Glyph HTML文本 NSA=ributedString
View CTLine(s) 解析 (自定 义标签) 生成(内 存及耗时 优化) 绘图(处 理重绘) 字 形
引擎模块 编辑器(web) 长文本索引生成器(命令行程序) 类库(.a, framework) <
>
感谢