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
Webフォントことはじめ。Getting started with web fonts.
Search
Takafumi Omuro
July 26, 2018
Technology
0
110
Webフォントことはじめ。Getting started with web fonts.
Takafumi Omuro
July 26, 2018
Tweet
Share
More Decks by Takafumi Omuro
See All by Takafumi Omuro
デザインレビューをAIにしてもらいたい!
tomuro
2
990
生成AIで生産性向上
tomuro
0
470
Cloudflare Workers の実行時間が遅くなることがある
tomuro
0
19
生成AI使ってますか? 〜Amazon Bedrockで試してみよう〜
tomuro
2
340
Morisawa Fonts 新プランでのStripe導入事例
tomuro
0
140
Cloudflareを活用したWebフォントサービスの概要
tomuro
0
260
Stripeでサブスクリプションに割引を適用したときの注意点
tomuro
0
350
クラウドを利用したサブスクリプションサービスに向けて内製化開発に切り替えた話
tomuro
2
620
SESからSendGridに変更したけど移行で問題が出た話
tomuro
1
2.2k
Other Decks in Technology
See All in Technology
AI時代を生き抜くエンジニアキャリアの築き方 (AI-Native 時代、エンジニアという道は 「最大の挑戦の場」となる) / Building an Engineering Career to Thrive in the Age of AI (In the AI-Native Era, the Path of Engineering Becomes the Ultimate Arena of Challenge)
jeongjaesoon
0
250
JTCにおける内製×スクラム開発への挑戦〜内製化率95%達成の舞台裏/JTC's challenge of in-house development with Scrum
aeonpeople
0
260
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
240
RSCの時代にReactとフレームワークの境界を探る
uhyo
10
3.5k
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
500
初めてAWSを使うときのセキュリティ覚書〜初心者支部編〜
cmusudakeisuke
1
280
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
170
2025/09/16 仕様駆動開発とAI-DLCが導くAI駆動開発の新フェーズ
masahiro_okamura
0
130
IoT x エッジAI - リアルタイ ムAI活用のPoCを今すぐ始め る方法 -
niizawat
0
120
roppongirb_20250911
igaiga
1
250
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
130
Snowflake Intelligence × Document AIで“使いにくいデータ”を“使えるデータ”に
kevinrobot34
1
120
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Into the Great Unknown - MozCon
thekraken
40
2k
Become a Pro
speakerdeck
PRO
29
5.5k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Automating Front-end Workflow
addyosmani
1370
200k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Fireside Chat
paigeccino
39
3.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Building an army of robots
kneath
306
46k
How to Ace a Technical Interview
jacobian
279
23k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Code Reviewing Like a Champion
maltzj
525
40k
Transcript
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE 8FCϑΥϯτ͜ͱ͡Ί .JY-FBQ4UVEZ גࣜձࣾϞϦαϫখࣨو࢙
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE ࣗݾհ w ໊લɿখࣨو࢙ʢΦϜϩλΧϑϛʣɹɹɹ w ॴଐɿגࣜձࣾϞϦαϫ ɹɹɹΤϯλϓϥΠζࣄۀ෦։ൃ෦ ɹɹɹΫϥυϑΥϯτγεςϜ՝ w झຯɿόΠΫʢ:;'3ॴ༗ʣ
ɹɹɹ57ήʔϜʢϞϯϋϯɺεϓϥτΡʔϯʣ w ͖ͳॻମɿϑΥʔΫ
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE ΞδΣϯμ w 8FCϑΥϯτͱʁ w 8FCϑΥϯτͷ͍ํ w ϑΥϯτඳըλΠϜϥΠϯ w ຊޠϑΥϯτͷ
w 8FCϑΥϯτ࠷దԽ
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE ࠓͷΰʔϧ w ΰʔϧ w 8FCϑΥϯτΛ͑ΔΑ͏ʹͳΔ͜ͱ w ϑΥʔΫΛݟ͚ΕΔΑ͏ʹͳΔ͜ͱ w ͢͜ͱ
w 8FCϑΥϯτͷ͍ํʹ͍ͭͯ w ͞ͳ͍͜ͱ w 8FCϑΥϯτબఆͳͲͷσβΠϯʹ͍ͭͯ
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE 8FCϑΥϯτͱʁ w ϝϦοτ w ࣗ༝ͷߴ͍8FCσβΠϯ w ΞΫηεϏϦςΟͷ্ w σϝϦοτ
w ϑΥϯτϑΝΠϧͷμϯϩʔυʹґΔԆදࣔ w ຊޠͳͲจࣈछͷଟ͍ϑΥϯτͰ༰ྔ͕େ͖͍
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE 8FCϑΥϯτͱʁ IUUQTXXXPODIPTIPLVKQ
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE 8FCϑΥϯτͱʁ IUUQTXXXDJUZTIJCVZBUPLZPKQ
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE 8FCϑΥϯτͷ͍ํ w $44A!GPOUGBDFA @font-face { font-family: "MyFont"; src: url("fonts/MyFont.woff");
} w $44AGPOUGBNJMZA body { font-family: "MyFont"; } ˡϑΥϯτ໊ʢԿͰ͍͍ʣ ˡϑΥϯτͷॴ ˡ!GPOUGBDFͰࢦఆͨ͠ϑΥϯτ໊
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE 8FCϑΥϯτͷ͍ํ w $44A!GPOUGBDFA @font-face { font-family: "MyFont"; src: url("fonts/MyFont.woff")
format("woff"), url("fonts/MyFont.ttf") format(“ttf"); } w $44AGPOUGBNJMZA body { font-family: "MyFont"; } ˣTSDϑΥʔϧόοΫͰ͖·͢ ˢϨΨγʔϒϥβ͚ʹ ɹෳॻ͍ͨΓͰ͖·͢
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE 8FCϑΥϯτͷ͍ํ w $44A!GPOUGBDFA @font-face { font-family: "MyFont"; src: url("fonts/MyFont.woff")
format("woff"), url(“fonts/MyFont.ttf") format(“ttf"); } w $44AGPOUGBNJMZA body { font-family: "MyFont", serif; } ˣGPOUGBNJMZϑΥʔϧόοΫͰ͖·͢
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE 8FCϑΥϯτͷ͍ํ w $44A!GPOUGBDFA @font-face { font-family: "MyFont"; src: url("fonts/MyFont.woff")
format("woff2"), url(“fonts/MyFont.ttf") format(“ttf"); } w $44AGPOUGBNJMZA body { font-family: "ascii", "͔ͳ", "ࣈ"; } ˣӳޠɺ͔ͳɺࣈͷॻମΛΓସ͑Δ͜ͱͰ͖·͢
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE ϑΥϯτඳըλΠϜϥΠϯ w $44'POUT.PEVMF-FWFM w 5IF'POU%JTQMBZ5JNFMJOF IUUQTESBGUTDTTXHPSHDTTGPOUTGPOUEJTQMBZUJNFMJOF block period swap
period font failure period ݟ͑ͳ͍จࣈͰ ϨϯμϦϯά ସϑΥϯτͰ ϨϯμϦϯά ϑΥϯτऔಘதஅ UJNF
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE ϑΥϯτඳըλΠϜϥΠϯ w $44'POUT.PEVMF-FWFM w 5IF'POU%JTQMBZ5JNFMJOF IUUQTESBGUTDTTXHPSHDTTGPOUTGPOUEJTQMBZUJNFMJOF block period swap
period font failure period ݟ͑ͳ͍จࣈͰ ϨϯμϦϯά ସϑΥϯτͰ ϨϯμϦϯά ϑΥϯτऔಘதஅ '0*5 'MBTIPG*OWJTJCMF5FYU จࣈ͕දࣔ͞Εͳ͍
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE UJNF ϑΥϯτඳըλΠϜϥΠϯ w $44'POUT.PEVMF-FWFM w 5IF'POU%JTQMBZ5JNFMJOF IUUQTESBGUTDTTXHPSHDTTGPOUTGPOUEJTQMBZUJNFMJOF block period
swap period font failure period ݟ͑ͳ͍จࣈͰ ϨϯμϦϯά ସϑΥϯτͰ ϨϯμϦϯά ϑΥϯτऔಘதஅ ϑΥϯτμϯϩʔυྃ
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE ϑΥϯτඳըλΠϜϥΠϯ w $44'POUT.PEVMF-FWFM w 5IF'POU%JTQMBZ5JNFMJOF IUUQTESBGUTDTTXHPSHDTTGPOUTGPOUEJTQMBZUJNFMJOF block period swap
period font failure period ݟ͑ͳ͍จࣈͰ ϨϯμϦϯά ସϑΥϯτͰ ϨϯμϦϯά ϑΥϯτऔಘதஅ '065 'MBTIPG6OTUZMFE5FYU จࣈͷνϥ͖ͭൃੜ
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE UJNF ϑΥϯτඳըλΠϜϥΠϯ w $44'POUT.PEVMF-FWFM w 5IF'POU%JTQMBZ5JNFMJOF IUUQTESBGUTDTTXHPSHDTTGPOUTGPOUEJTQMBZUJNFMJOF block period
swap period font failure period ݟ͑ͳ͍จࣈͰ ϨϯμϦϯά ସϑΥϯτͰ ϨϯμϦϯά ϑΥϯτऔಘதஅ ͜͜·Ͱʹμϯϩʔυ Ͱ͖ͳ͍ͱதஅ͞ΕΔ
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE UJNF ϑΥϯτඳըλΠϜϥΠϯ w $44'POUT.PEVMF-FWFM w 5IF'POU%JTQMBZ5JNFMJOF IUUQTESBGUTDTTXHPSHDTTGPOUTGPOUEJTQMBZUJNFMJOF block period
swap period font failure period ݟ͑ͳ͍จࣈͰ ϨϯμϦϯά ସϑΥϯτͰ ϨϯμϦϯά ϑΥϯτऔಘதஅ $ISPNF 'JSFGPYT
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE UJNF ϑΥϯτඳըλΠϜϥΠϯ w $44'POUT.PEVMF-FWFM w 5IF'POU%JTQMBZ5JNFMJOF IUUQTESBGUTDTTXHPSHDTTGPOUTGPOUEJTQMBZUJNFMJOF block period
swap period font failure period ݟ͑ͳ͍จࣈͰ ϨϯμϦϯά ସϑΥϯτͰ ϨϯμϦϯά ϑΥϯτऔಘதஅ *& &EHFT
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE UJNF ϑΥϯτඳըλΠϜϥΠϯ w $44'POUT.PEVMF-FWFM w 5IF'POU%JTQMBZ5JNFMJOF IUUQTESBGUTDTTXHPSHDTTGPOUTGPOUEJTQMBZUJNFMJOF block period
swap period font failure period ݟ͑ͳ͍จࣈͰ ϨϯμϦϯά ସϑΥϯτͰ ϨϯμϦϯά ϑΥϯτऔಘதஅ 4BGBSJʿ
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE ຊޠϑΥϯτͷ w ༰ྔ͕େ͖͍ ྫ͑ɺ(PPHMFͷ/PUP4BOT$+,Λར༻͢Δ߹ʜ ༻్ ϑΝΠϧ໊ ༰ྔ ݟग़͠
/PUP4BOT$+,KQ#PMEPUG .# Ϧʔυ /PUP4BOT$+,KQ.FEJVNPUG .# ຊจ /PUP4BOT$+,KQ3FHVMBSPUG .#
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE ຊޠϑΥϯτͷ w άϦϑʢࣈܗʣ͕ෳࡶ ෳࡶͳάϦϑΛখαΠζͰදࣔ͢Δͱʜ ᳵ ɾQU ɾQU ᳵ
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE 8FCϑΥϯτ࠷దԽ w 8FCϑΥϯτϑΥʔϚοτ format ໊শ આ໌ ิ UUG 5SVF5ZQF'POU
5SVF5ZQFΞτϥΠϯ (FOFSBM PUG 0QFO5ZQF'POU $''ΞτϥΠϯ (FOFSBM XP⒎ 8FC0QFO'POU'PSNBU 8FCϑΥϯτ༻ͷѹॖϑΥϯτ 8FC XP⒎ 8FC0QFO'POU'PSNBU XP⒎ͷѹॖΞϧΰϦζϜվળ൛ 8FC FPU &NCFEEFE0QFO5ZQF *&͚ͷ.4ಠ༷ࣗ -FHBDZ TWH 4DBMBCMF7FDUPS(SBQIJDT 47(ܗࣜͷϑΥϯτ -FHBDZ
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE 8FCϑΥϯτ࠷దԽ w αϒηοτ ຊޠͰΑ͘͏จࣈ͚ͩͷϑΥϯτʹͨ͠߹ ˞+*49ୈҰਫ४ࣈɺه߸ɺجຊϥςϯจࣈɺ͔ͳɺΧφ ࢀߟࢿྉʣ5BLBOPSJ0LJ ΠψͰΘ͔ΔΣϒϑΥϯτ
1ද ϑΝΠϧ໊ ࠷దԽલ ࠷దԽޙ 80'' ࠷దԽޙ 80'' /PUP4BOT$+,KQ#PMEPUG .# ,# ,# /PUP4BOT$+,KQ.FEJVNPUG .# ,# ,# /PUP4BOT$+,KQ3FHVMBSPUG .# ,# ,#
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE 8FCϑΥϯτ࠷దԽ w "QQMFͷ8FCαΠτͷ߹ จࣈఔʴXP⒎ѹॖ IUUQTXXXBQQMFDPNKQ ϑΝΠϧ໊ ༰ྔ 4'1SP+1@SFHVMBSXP⒎
,# 4'1SP+1@TFNJCPMEXP⒎ ,#
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE 8FCϑΥϯτ࠷దԽ w ࠷దԽ݁ߏΊΜͲ͍͘͞Ͱ͢ΑͶʜ
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE 8FCϑΥϯτ࠷దԽ w 8FCϑΥϯταʔϏεΛ͏ʂ IUUQTUZQFTRVBSFDPN
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE 8FCϑΥϯτ࠷దԽ w αϒηοτͱϑΥʔϚοτม͕ࣗಈͰߦΘΕ·͢ʂ '065ʢνϥπΩʣσϑΥϧτઃఆͰ੍ʂ IUUQTUZQFTRVBSFDPN
$PQZSJHIU.PSJTBXB*OD"MM3JHIUT3FTFSWFE ࢀߟࢿྉ w ΠψͰΘ͔ΔΣϒϑΥϯτʢബ͍ຊʣ ˣۀ൛ͰϦχϡʔΞϧ ΣϒϑΥϯτ࣮ફϚχϡΞϧେଚلʢஶʣ IUUQTXXXBNB[PODPKQEQ IUUQTESBGUTDTTXHPSHDTTGPOUT IUUQTUZQFTRVBSFDPN w
$44'POUT.PEVMF-FWFM w 5ZQF4RVBSF