Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Web Fonts: Rendering y suavizado en Windows
Search
Sergio Nouvel
August 03, 2012
Technology
260
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Web Fonts: Rendering y suavizado en Windows
Sergio Nouvel
August 03, 2012
Transcript
47 slides
Web fonts rendereo y suavizado
Esta charla surge de la necesidad de usar webfonts como
íconos en lugar de imágenes.
Por qué usar webfonts como íconos: - livianAs - admiten
efectos “En vivo” css - reutilizables - independientes de resolución (listas para el mundo retina) - ACCESIBLES A
El problema es que cuando las quiero usar en windows…
(usando un generador como font squirrel) B
Así se debería ver …pero así se ve.
Ah, es que esto es mac …Y esto es windows.
Usted pensará:
No. Ambos son windows. El problema tiene que ver con
la tecnología de suavizado. D
Retrocedamos: font-smoothing technologies. C
Como sabemos, las tipografías son dibujos basados en vectores (ecuaciones
matemáticas).
Para que un vector sea representado en pantalla, debe “rasterizarse”:
se interpretan las fórmulas como mapas de bits.
EL suavizado de fuentes busca evitar el pixelado de las
tipografías a escalas pequeñas o con muchas curvas…
Simulando las curvas que faltan con pixeles de otros colores.
El método más usual se llama “grayscale antialias”: interpolar pixeles
con opacidad en las zonas curvas.
El problema es que a tamaños pequeños el antialias produce
formas suaves, pero poco legibles.
Alguien pensó: “en realidad, cada pixel está formado por subpixeles
r, g yb”
“Podríamos usar los subpixeles para hacer un antialias aún más
fino”
… lo cual trae 3 veces más resolución horizontal.
A tamaños pequeños de fuente, todos los sistemas operativos modernos
usan subpixel rendering. I
La diferencia está en lo que cada os priorizó al
desarrollar su tecnología. K
Mac OS x (QUARTZ) se enfoca en que las tipografías
se vean similares a la letra impresa.
WINDOWS (Clear type) se enfoca en que las tipografías SEAN
LEGIBLES y NÍTIDAS.
MAC OS Mac os (QUARTZ) WIN/CLEAR TYPE
LA principal DIFERENCIA ENTRE AMBOS sistemas es que gdi cleartype
(WIN) usa hinting. M
El Hinting le “sopla” al motor de rendereo cómo representar
la fuente. Q
El problema es, precisamente, el hinting horizontal de cleartype… p
El cual funciona mal con fuentes demasiado curvas… R
None
… y por ende, para los íconos.
En vista de estos problemas, microsoft desarrolló una nueva tecnología:
directwrite. W
Directwrite agrega suavizado vertical a cleartype, manteniendo la legibilidad y
aumentando la suavidad. Z
Clear type directwrite
Tanto directwrite como el viejo grayscale funcionan perfecto para iconos
y fuentes curvas. Pero… 1
Pero: 1) cleartype está activado por defecto en windows vista/7.
2) directwrite sólo está implementado por defecto en IE9. c
¿Y firefox, chrome, ie8…? Aún nos queda el viejo grayscale.
Pero… ¿cómo activarlo? e
Post-script al rescate. h
Hay dos (tres) tecnologías para dibujar contornos tipográficos: truetype y
post-script. j
MAC renderea ambas igual… pero windows hace la diferencia: truetype
usa cleartype postscript usa grayscale. n
Formato Tecnología TTF TrueType EOT TrueType WOFF TrueType o PostScript
OTF TrueType o postScript ¿Y cómo sé cuál es una tipografía postscript para la web?
@font-‐face { font-‐family: 'WebSymbolsRegular';
src: url('websymbols.eot'); /*IE 6-‐8*/ src: url('websymbols.eot?#iefix') format('embedded-‐ opentype'), /*IE 6-‐8 FIX*/ url('websymbols.woff') format('woff'), /*FF-‐Chrome, IE9*/ url('websymbols.ttf') format('truetype'), /*Old Firefox*/ url('websymbols.svg#WebSymbolsRegular') format('svg'); /* old iOS (4.2-‐) */ } Font-face generado por fontsquirrel
@font-‐face { font-‐family: 'WebSymbolsRegular';
src: url('websymbols.eot'); src: url('websymbols.eot?#iefix') format('embedded-‐ opentype'), url('websymbols.otf') format(‘opentype'), url('websymbols.svg#WebSymbolsRegular') format('svg'); } Font-face optimizado para iconos Salen ttf y woff… entra otf.
Otf = opentype font, el estándar usado por la mayoría
de las fuentes de sistema. Soporta truetype y postscript. q
Otf postscript hace la magia en firefox/chrome. y… ¿cómo sabes
si la fuente otf es postscript? q
None
Si la fuente es otf truetype o ttf (que es
lo mismo)… sólo te queda usar un conversor, como freefontconverter.com (Selecciona “otf” como formato de salida) u
PLATAFORMA Formato más adecuado ¿Suaviza BIEN? IE9 Cualquiera " Windows
vista/7/xp firefox 3.6+, chrome, OPERA OTF post-script Windows vista/7/xp IE 6 - 8 TrueType Windows vista/7/xp firefox 3.6- TrueType Resumiendo:
¿y el futuro? ,
Gracias. w
More Decks by Sergio Nouvel
See All by Sergio Nouvel
Involúcrate
shesho
0
170
Transformación Digital: lo que hay y lo que falta
shesho
1
860
Diseño de Servicios centrados en el Ciudadano
shesho
2
920
Transformación Digital: de consumidores a creadores de tecnología
shesho
1
860
Transformación Digital y UX: El comienzo del viaje del héroe
shesho
5
1.3k
Scope Canvas (keynote)
shesho
6
1.2k
UX y Transformación Digital
shesho
2
1.1k
Emprendiendo al Revés: El caso Get on Board
shesho
39
16k
Fuck-up Nights: The Get on Board Way
shesho
0
360
Other Decks in Technology
See All in Technology
さようならSSH鍵、こんにちはゼロトラスト ― AIフレンドリーで快適な自宅鯖SSH
atalie2m
5
2.1k
AI対話型分析を作成し、リリースするまでの話 / The Road to Release: Buiding AI Conversational Analytics
yappli_developers
0
140
Linuxネットワークスタック進化の軌跡: 過去10年の歩みと最新トレンド
orimanabu
4
710
Kiro CLI 入門 (ターミナルと CI で使う) | 目指せ Kiro マスター 03
inariku
PRO
2
160
速くなった開発の効果をどう推し量るのか
bulbulpaul
0
120
81天的 AI Agent 軟體開發團隊治理實務分享
regionbbs
0
170
SREのためのFinOps入門
muziyoshiz
3
1.6k
Where Should Platform Complexity Live? Lessons from a Cross-Team PR Preview Platform
taiki45
0
110
Claude Codeで新規事業を伸ばせるか? Zennの試行錯誤の記録
wadayusuke
2
200
Agent Harnessはどう作る?事例から学ぶAI Agentの設計思想
sergicalsix
0
320
市販IoT機器や自作IoT機器とHomeAssistantを駆使して家の電気代をできる限り見える化する方法の考案
harutiro
0
260
小さなエージェントから始めてみよう!実践コンテキストエンジニアリング
iwamot
PRO
0
130
Featured
See All Featured
Building an army of robots
kneath
307
47k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.8k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.7k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.3k
Automating Front-end Workflow
addyosmani
1370
210k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
620
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
670