Web Dev #Open Source #Web Development #Frontend #JavaScript

Tegaki 手寫文字動畫庫安裝與實測:網頁手寫字動態特效輕鬆實現

想要在網頁中加入自然流暢的手寫字動畫嗎?Tegaki 是一個輕量且易用的 JavaScript 庫,能將任何字型轉換成手寫筆劃動畫。

5 min read/ Easy

前言

在網頁設計中,手寫文字動畫(Handwriting Animation)常常能為網頁增添獨特的溫度與動態感。然而,傳統上製作這類動畫非常繁瑣,需要手動繪製 SVG 路徑並計算 stroke-dashoffset,或是依賴大型動畫套件。

Tegaki(手書き)是一個優雅的開源解決方案,它不需要任何原生依賴,也不需要手動繪製路徑,只要選擇字型,就能自動將文字轉換為按筆劃順序流暢繪製的手寫動畫。


實作展示 (Live Demo)

下面是 我嘗試使用 Tegaki 做的嵌入展示,你可以直接輸入文字、切換字型,並調整動畫引數來即時觀看效果:


官方線上生產器

也可以直接使用 Tegaki 的官方線上工具。它提供了直覺的視覺化介面,支援即時預覽並能直接匯出設定好的字型與動畫路徑。

點這裡前往 Tegaki 線上生產器


如何在你的專案中使用?

1. 安裝套件

你可以使用 npm 輕鬆地將 Tegaki 安裝到你的前端專案中:

bash
npm install tegaki

2. 框架整合與基本使用

Tegaki 對目前主流的前端框架(React、Vue、Svelte、SolidJS、Astro)都提供了開箱即用的元件支援。

React 使用範例

jsx
import { TegakiRenderer } from 'tegaki/react';
import caveat from 'tegaki/fonts/caveat';

function App() {
  return (
    <TegakiRenderer font={caveat} style={{ fontSize: '48px' }}>
      Hello World
    </TegakiRenderer>
  );
}

Vue 3 / Nuxt 3 使用範例

vue
<script setup>
import { TegakiRenderer } from 'tegaki/vue';
import caveat from 'tegaki/fonts/caveat';
</script>

<template>
  <TegakiRenderer :font="caveat" style="font-size: 48px;">
    Hello World
  </TegakiRenderer>
</template>

Vanilla JS 使用範例

如果你使用的是純 JavaScript 生態,可以使用 Core 引擎來手動控制:

javascript
import { TegakiEngine } from 'tegaki/core';
import caveat from 'tegaki/fonts/caveat';

const container = document.getElementById('my-container');
const engine = new TegakiEngine(container, {
  font: caveat,
  text: 'Hello World',
  fontSize: 48
});

engine.play();

內建字型支援

Tegaki 已經內建整合了多款常用的開源手寫字型,可直接匯入使用:

  • Caveat (tegaki/fonts/caveat) - 常用拉丁手寫字型
  • Italianno (tegaki/fonts/italianno) - 優雅的手寫藝術字型
  • Tangerine (tegaki/fonts/tangerine) - 經典花體字型
  • Parisienne (tegaki/fonts/parisienne) - 法式浪漫風格字型
  • Klee One (tegaki/fonts/klee-one) - 日文字型(支援平假名、片假名與部分常用漢字)

個人使用心得與限制

在使用 Tegaki 進行了幾次測試後,我認為這個工具有以下幾個非常顯著的優缺點:

優點

  1. 極速上手:完全不需要手動調校 SVG 的路徑(Path),直接傳入文字與字型檔即可運作,開發成本極低。
  2. 效果出色:生成的筆劃順序與速度非常自然,帶有真實的手寫動態感。
  3. 框架相容性佳:提供了各種主流框架的包裝,基本上幾行程式碼就能直接插入現有的專案中。

限制與中文實現的痛點

雖然 Tegaki 是一款非常優秀的工具,但在面對中文字時會遇到極大的技術瓶頸:

  • 筆劃結構過於複雜:英文字母(26 個大小寫字母)的筆劃與路徑非常固定且簡單,可以輕鬆透過預先處理將其向量路徑與筆劃順序打包。然而中文的常用字多達數千個,且每個字的筆劃結構、轉折都極度複雜。
  • 筆順各異難以實現:中文每個字的筆劃軌跡都不同,目前在 Tegaki 這種依賴預先建模或字型筆劃分析的演算法下,要完美解析並還原成正確的中文筆順,基本上難以實現。即便內建的日文字型 Klee One 能支援部分漢字,但在純中文字的展示上,依然會面臨嚴重的缺字或是筆劃動畫順序錯亂的問題。

因此,如果你主要是要製作英文、數字或是簡單日文的手寫動畫,Tegaki 絕對是目前最頂級且輕量的選擇;但若是想應用在繁體或簡體中文的標題上,目前可能還是需要尋求其他手動繪製 SVG 路徑的方式。


相關連結: