Skip to content

Instantly share code, notes, and snippets.

@myakura
Created February 26, 2015 06:22
Show Gist options
  • Save myakura/d0411e73556ad4fd0f19 to your computer and use it in GitHub Desktop.
Save myakura/d0411e73556ad4fd0f19 to your computer and use it in GitHub Desktop.
フォントもくもく会 #2でやりたいこと

unicode-range の調査

  • 使った時と使ってないときのファイルサイズの差
    • できればUnicodeの範囲を分けて計測
      • パスが多い複雑なグリフが固まってるところのがファイルサイズ大きそうと予想
  • 使ったときのHTTPリクエスト
    • 実装の中身を見てみたい

ページのテキストを取得して unicode-range を生成するコード

  1. 本文の要素を取得してテキストを取得
  2. 文字をばらしてユニークな文字だけにする
  3. コードポイントを取得
    • サロゲートペアとかよくわかんないけどどうしよう
  4. コードポイントから unicode-range デスクリプタの値を生成
    • 最初はベタに書こうか
    • 範囲をまとめたり、おおまかな範囲にマップしたり
  5. Font Loading APIでリクエスト&適用

navigator.connect について調べる

  • 概要について
  • 複数originでのフォントをキャッシュさせるpseudoコード
@myakura
Copy link
Author

myakura commented Jul 30, 2015

ChromeでもArray.fromやArrow Functionsがサポートされたのでちょっと簡単に書けそう。

const getUniqueCharacters = (string) => {
  let charactersArray = string.split('')
  let codePointsArray = charactersArray.map(character => character.codePointAt())
  let uniqueCodePoints = Array.from(new Set(codePointsArray))
  return uniqueCodePoints.sort((a, b) => a - b)
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment