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
cngump
May 06, 2013
Programming
1
470
构造基于Coretext的排版引擎
构造基于Coretext的排版引擎
cngump
May 06, 2013
Tweet
Share
More Decks by cngump
See All by cngump
iOS开发中的MVC
cngump
2
1.8k
IM DIY
cngump
1
260
Mac OS APP 的沙盒和相关审核技术
cngump
0
570
基于Xamarin 2.0的跨平台移动开发
cngump
0
140
Other Decks in Programming
See All in Programming
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
5.5k
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
370
ThorVG Viewer In VS Code
nors
0
700
Combinatorial Interview Problems with Backtracking Solutions - From Imperative Procedural Programming to Declarative Functional Programming - Part 2
philipschwarz
PRO
0
140
.NET Conf 2025 の興味のあるセッ ションを復習した / dotnet conf 2025 quick recap for backend engineer
tomohisa
0
110
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
2.5k
クラウドに依存しないS3を使った開発術
simesaba80
0
230
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.6k
Basic Architectures
denyspoltorak
0
360
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
170
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
500
PostgreSQLで手軽にDuckDBを使う!DuckDB&pg_duckdb入門/osc25hi-duckdb
takahashiikki
0
250
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
190
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
99
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
790
Navigating Team Friction
lara
191
16k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
36
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Visualization
eitanlees
150
16k
Statistics for Hackers
jakevdp
799
230k
Leo the Paperboy
mayatellez
3
1.3k
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) <
>
感谢