js: 訪問用戶本地字體

枚舉本地字體

<button id="btn">Get Local Font</button>

document
  .getElementById("btn")
  .addEventListener("click", async function () {
    const pickedFonts = await window.queryLocalFonts();
    for (const fontData of pickedFonts) {
      console.log(
        `[%o] full name:(%o) family:(%o) style:(%o)`,
        fontData.postscriptName,
        fontData.fullName,
        fontData.family,
        fontData.style
      );
    }
  });

使用本地字體設置樣式

<button id="btn" style="font-family: dynamic-font">Get Local Font</button>

document
  .getElementById("btn")
  .addEventListener("click", async function () {
    // 請求特定字體
    const pickedFonts = await window.queryLocalFonts({
      postscriptNames: ["Consolas"],
    });

    if (!pickedFonts.length) return;

    const textStyle = document.createElement("style");
    textStyle.textContent = `
@font-face {
font-family: "dynamic-font";
src: local("${pickedFonts[0].postscriptName}");
}`;
    document.body.appendChild(textStyle);
  });

See also:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章