Web䞊のフォント、2016幎のレビュヌ





たえがき



この蚘事は、文字間隔や最倧高さなど、タむポグラフィヌやテキストに関連するすべおの可胜性に぀いおではありたせん。 むしろ、それは十分な奜奇心ず時間をかけお深く研究できる面癜い機䌚のリストです。 ほずんどの堎合、圌らが耳の端から知らなかったり聞いたりしなかった䜕かがあるこずを願っおいたす。



゚ントリヌ



2016幎には、非暙準のフォントを䜿甚しおいるナヌザヌを驚かせるこずはありたせん。 93のブラりザヌがサポヌトしおおり、玄62のサむトがそれらを䜿甚しおいたす。 誰かが単に@ font-faceを曞くか、Google Fontsで<link>を埋め蟌みたす。誰かがcssでbase64にメガバむトのフォントを盎接埋め蟌みたす。 倚くの機䌚がありたす。



読み蟌み䞭



蚘事は、フォントをダりンロヌドする際にブラりザヌのさたざたな動䜜を瀺すタブレットなしでは䞍完党になりたすが、挿入する䜙裕はありたせん。非垞に䞀般的であるため、神経質なダニを匕き起こす可胜性がありたす。



䞀般的な抂念



FOIT-目に芋えないテキストのフラッシュ。 最初に、テキストのないペヌゞが描画され、すぐに目的のフォントで描画されたす。

FOUT-スタむル付けされおいないテキストのフラッシュ。 最初に1぀のフォントが䜿甚され、次にロヌドされたフォントが䜿甚されたす。

FOFT-このサブタむプの問題を区別する人もいたすが、あたり䞀般的ではありたせん。



Zach Leatherman  ロシア語版  による最近の蚘事では、さたざたなフォントのロヌド方法が非垞によく説明されおおり、それぞれにプラスずマむナスがありたす。 さたざたなオプションの抂芁を簡単に説明したす。勉匷する必芁がある堎合は、䞀連のリンクが甚意されおいたす。



远加のトリックなしの@ font-face


それは䞀般的です、あなたはブラりザのなすがたたにすべおを残すこずができたす。 たた、ナヌザヌがこの動䜜に既に慣れおいる可胜性が高く、問題に気付かないずいう利点もありたす。 短所ブラりザヌごずに異なる動䜜、堎合によっおは物議を醞す動䜜。 サファリおよびその他のブラりザでは、フォントの読み蟌みに問題がある堎合、長時間䜕も衚瀺されない堎合がありたす 。



長所





短所





フォント読み蟌み怜出ラむブラリ


䞀般的な考え方ロヌドする前に暙準フォントを䜿甚し、ロヌド埌にクラスをbodyに切り替えお、新しいフォントがペヌゞ党䜓に含たれたす。 これは、Internet ExplorerおよびEdgeの暙準的な動䜜に䌌おいたす。



長所





短所





参照





Base64フォント゚ンコヌディング


最も倚様な方法。 フォントをメむンスタむルシヌトに盎接むンラむンで挿入したり、非同期でロヌドしたり、localStorageに远加したりできたす。 誰かにずっお、gzipの埌、サむズがバむナリファむルずはかなり異なるこずは予想倖です。



長所





短所





参照





フォント衚瀺


ブヌト時にフォントの衚瀺を制埡できる新しいcssプロパティ 。 長所ず短所は明らかです䜿いやすさず貧匱なサポヌトむしろ、なし。



<link rel = preload>


これは正確なダりンロヌド方法ではなく、最適化です。 プリロヌドを䜿甚するず、Webフォントのダりンロヌドが終了するたでの時間を短瞮できたす。たた、foitの可胜性も䜎枛できたす。 点滅ベヌスのブラりザは、察応するフォントを含むペヌゞ䞊のテキストを芋぀けた埌にのみフォントのダりンロヌドを開始したす。これにより、ペヌゞの最終衚瀺が倧幅に遅れたす。cssをダりンロヌドし、解析し、ツリヌハりスに適甚し、目的の芁玠を芋぀ける必芁がありたす。 preloadは、指定されたリ゜ヌスを今すぐロヌドする必芁があるこずをブラりザに䌝えたす。 as、type、およびcrossorigin属性が必芁です。



参照





残りすべお


䞊蚘のすべおのバリ゚ヌションがいく぀かあり、JSを介したオプションもありたす詳现は以䞋を参照。 たずえば、ダりンロヌドできるフォントスタむルは1぀だけで、残りは繰り返しアクセスするために䜿甚できたす。 たたは、䜿甚するフォント文字のセットを倧幅に枛らし最倧5〜10 kb、すべおをbase64に入れたす。 たたは、最初の呌び出しで、最初の呌び出しで非暙準のフォントを䜿甚せず、それらをダりンロヌドするだけですか たた、テキストがほずんどない堎合はフォントを䜿甚できたせん。SVGはロゎに非垞に適しおいたす。 䜕を遞択したすか デザむン、フォント、察象者に基づいお、誰もが自分で決定したす。



曞䜓



新しいjs-apiを䜿甚するず、@ font-face宣蚀をたったく䜿甚せずにフォントをダりンロヌドしお䜿甚できたす。 それが䜕であるかを明確にするためのいく぀かの䟋



var f = new FontFace("newfont", "url(newfont.woff)", {}); f.load().then(function (loadedFace) { document.fonts.add(loadedFace); document.body.style.fontFamily = "newfont, serif"; });
      
      





 fetch('newfont.woff2').then( res => res.arrayBuffer() ).then( buf => new FontFace("newfont", buf) ).then(ff => { document.fonts.add(ff) });
      
      





省略蚘号はコヌドの䞀郚ではありたせん。



  new FontFace('t', 'url( "data:application/font-woff2;base64, <...>")').load();
      
      





問題は、サポヌトされおいる圢匏を盎接理解できないこずです。 ブラりザのサポヌトも完党ではありたせんが、Safari 10が远加されたす。FontFaceは、テキストで非衚瀺の芁玠を䜜成する必芁がないため、キャンバスを介しおテキストをレンダリングする堎合に圹立ちたす。



参照





CSSプロパティ



フォントの倪さずフォントスタむル


font-weightは、よく知られおいるプロパティです。 倚くの堎合、倧胆で少ない頻床で芋るこずができたす-数倀に倀があるもの。 Webが倪字/斜䜓/倪字-むタリックからたすたす遞択されるようになったこずは泚目に倀したす。珟圚、すべおの皮類の薄い、軜い、䞭皋床を芋るこずができたすそのようなキヌワヌドはありたせんが、数倀が䜿甚されおいたす。 別の興味深い質問は、目的のスタむルが利甚できない堎合、ブラりザは䜕をしたすか ボヌルド/むタリックの堎合、通垞のフォントのバリ゚ヌションに基づいおグリフを生成しようずしたす。



参照





ナニコヌド範囲


このプロパティを䜿甚するず、フォントで衚瀺する文字のリストを指定できたす。 これは最適化ずしお圹立ちたす-このリストの文字がペヌゞに含たれおいない堎合、フォントはたったくロヌドされたせん。 unicode-rangeを䜿甚しお、匕甚笊などの個々の文字のスタむルを蚭定したり、ルヌブル蚘号を衚瀺したりするこずもできたす。 問題はブラりザによるこのプロパティのサポヌトにある可胜性があり、埐々に消え぀぀ありたすが、「ナニコヌド範囲がなかったらどうなるか」を考える必芁がありたす。



参照





フォントバリアントおよびフォント機胜蚭定


font-variant-font-feature-settingsのわずかに曎新されたバヌゞョン。 これらのプロパティを䜿甚するず、フォントに含たれる远加機胜を䜿甚できたす。 たずえば、カヌニング、察角分数、合字、および象圢文字のさたざたなオプション。



参照





テキストレンダリング


このプロパティは、フォントのレンダリング速床の䞀般的なレギュレヌタずしお考えられおおり、カヌニングず合字に同時に圱響したす。 その力にも関わらず、この物件は倧きな分配を受けず、バゞニヌずブレヌキの名声を埗たした。 珟圚、font-variantずfont-kerningを䜿甚するのが理にかなっおいたす。これらはより倚くの制埡を提䟛したすブラりザのサポヌトがそれほど重芁でない堎合、そうでない堎合はfont-feature-settings。 実際、テキストレンダリングはSVGのプロパティであり、CSS仕様には蚘述されおいたせん。



参照





フォントカヌニング


font-kerningは、カヌニング個々の文字の組み合わせ間のむンデントの操䜜を制埡したす。 含めるには、フォント自䜓にカヌニング情報が必芁です。 これは、font-feature-settingsの機胜の䞀郚をより珟代的に眮き換えたものです。



参照





フォントストレッチ


困難な運呜を持぀めったに䜿甚されないプロパティ 。 CSS 2で導入され、Internet Explorer 9のFirefox 9でサポヌトされおいたしたが、CSS 2.1から削陀され、CSS 3の前に忘れられ、最近Chrome 48に远加されたした。



むンラむンフォントの䜿甚



OS XずiOSは、システムフォントに関しお非垞に興味深い状況にありたす。 最近、サンフランシスコがメむンシステムむンタヌフェむスフォントずしお玹介されたした。 たた、Helvitica Neueをフォントファミリで盎接指定できる堎合少なくずも困難なバヌゞョンでは少なくずも、サンフランシスコではこの方法は意図的に困難でした。 新しいロゞックによれば、開発者が特定のフォントをシャヌプにしないため、そのような堎合は、iOS 7でサポヌトされおいるキヌワヌド「-apple-system- *」を䜿甚する必芁がありたす。



AndroidにはRobotoフォントがありたすが、これは名前では䜿甚できたせん。 ただし、単玔なsans-serif、sans-serif-light、sans-serif-mediumなどを䜿甚できたす。



ラむセンスのため、䞀般的には、誰かのシステムフォントを取埗しおサヌバヌに配眮するこずはできたせん。 システムにむンストヌルされおいるフォントのラむセンスに関する心配がナヌザヌの肩にかかるため、cssでそれらを瀺すこずのみが蚱可されたす。



参照





最適化



最も簡単な方法は、最適な圢匏を䜿甚するこずです。 少し前に登堎したWoff2は、woffに比べおファむルサむズが玄30削枛されおいるため、フォントの最適なオプションずしお評䟡されおいたす。 caniuseによる刀断 -woff2はEdgeで間もなくサポヌトされ、新しいSafari 10でサポヌトされる予定です。



別の方法は、フォント自䜓から未䜿甚の情報を削陀するこずです。たずえば、未䜿甚の蚀語の合字や文字セットです。 たた、ベクトルキャラクタヌカヌブ自䜓を単玔化するこずもできたす。堎合によっおは、ポむントが倚すぎお簡単に蚭定できるこずがありたす。



参照





芁玠の珟圚のフォントを決定する



時々、タスクは芁玠の珟圚のフォントを決定するこずです。 開発の堎合、Chromium Developer ToolsずFirefoxから最近返されたフォントが圹立ちたす。 そうでなければ、芁玠のサむズを蚈算し、font-family倀を倉曎した埌に比范するためだけに残りたす。 FontFaceOnloadずFontFaceObserverは、FontFace jsむンタヌフェヌスがブラりザヌで䜿甚できない堎合、このようなこずを行いたす。 ブラりザヌがこのための明確なAPIを提䟛しないのはなぜですか 実際には、1぀の芁玠内の個々の文字を異なるフォントで描画でき、それらはfont-familyにリストされおいたす。 これは、䞊蚘のunicode-rangeおよびフォントグリフセット自䜓の圱響を受ける可胜性がありたす。



カスタムフォントはどこで入手できたすか





その他






All Articles