tegaki 0.0.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/FONTS-LICENSE.md +67 -0
- package/LICENSE +21 -0
- package/README.md +261 -0
- package/dist/index.d.mts +257 -0
- package/dist/index.mjs +900 -0
- package/dist/index.mjs.map +1 -0
- package/fonts/caveat/bundle.ts +300 -0
- package/fonts/caveat/caveat.ttf +0 -0
- package/fonts/caveat/font.json +24472 -0
- package/fonts/caveat/glyphData.json +1 -0
- package/fonts/caveat/svg/0.svg +12 -0
- package/fonts/caveat/svg/0.tsx +14 -0
- package/fonts/caveat/svg/1.svg +7 -0
- package/fonts/caveat/svg/1.tsx +9 -0
- package/fonts/caveat/svg/2.svg +10 -0
- package/fonts/caveat/svg/2.tsx +12 -0
- package/fonts/caveat/svg/3.svg +12 -0
- package/fonts/caveat/svg/3.tsx +14 -0
- package/fonts/caveat/svg/4.svg +12 -0
- package/fonts/caveat/svg/4.tsx +14 -0
- package/fonts/caveat/svg/5.svg +7 -0
- package/fonts/caveat/svg/5.tsx +9 -0
- package/fonts/caveat/svg/6.svg +7 -0
- package/fonts/caveat/svg/6.tsx +9 -0
- package/fonts/caveat/svg/7.svg +12 -0
- package/fonts/caveat/svg/7.tsx +14 -0
- package/fonts/caveat/svg/8.svg +10 -0
- package/fonts/caveat/svg/8.tsx +12 -0
- package/fonts/caveat/svg/9.svg +12 -0
- package/fonts/caveat/svg/9.tsx +14 -0
- package/fonts/caveat/svg/U+0021.svg +12 -0
- package/fonts/caveat/svg/U+0021.tsx +14 -0
- package/fonts/caveat/svg/U+0022.svg +12 -0
- package/fonts/caveat/svg/U+0022.tsx +14 -0
- package/fonts/caveat/svg/U+0023.svg +22 -0
- package/fonts/caveat/svg/U+0023.tsx +24 -0
- package/fonts/caveat/svg/U+0024.svg +12 -0
- package/fonts/caveat/svg/U+0024.tsx +14 -0
- package/fonts/caveat/svg/U+0025.svg +25 -0
- package/fonts/caveat/svg/U+0025.tsx +27 -0
- package/fonts/caveat/svg/U+0026.svg +10 -0
- package/fonts/caveat/svg/U+0026.tsx +12 -0
- package/fonts/caveat/svg/U+0027.svg +7 -0
- package/fonts/caveat/svg/U+0027.tsx +9 -0
- package/fonts/caveat/svg/U+0028.svg +7 -0
- package/fonts/caveat/svg/U+0028.tsx +9 -0
- package/fonts/caveat/svg/U+0029.svg +7 -0
- package/fonts/caveat/svg/U+0029.tsx +9 -0
- package/fonts/caveat/svg/U+002a.svg +17 -0
- package/fonts/caveat/svg/U+002a.tsx +19 -0
- package/fonts/caveat/svg/U+002b.svg +12 -0
- package/fonts/caveat/svg/U+002b.tsx +14 -0
- package/fonts/caveat/svg/U+002c.svg +7 -0
- package/fonts/caveat/svg/U+002c.tsx +9 -0
- package/fonts/caveat/svg/U+002d.svg +7 -0
- package/fonts/caveat/svg/U+002d.tsx +9 -0
- package/fonts/caveat/svg/U+002e.svg +7 -0
- package/fonts/caveat/svg/U+002e.tsx +9 -0
- package/fonts/caveat/svg/U+002f.svg +12 -0
- package/fonts/caveat/svg/U+002f.tsx +14 -0
- package/fonts/caveat/svg/U+003a.svg +12 -0
- package/fonts/caveat/svg/U+003a.tsx +14 -0
- package/fonts/caveat/svg/U+003b.svg +12 -0
- package/fonts/caveat/svg/U+003b.tsx +14 -0
- package/fonts/caveat/svg/U+003c.svg +12 -0
- package/fonts/caveat/svg/U+003c.tsx +14 -0
- package/fonts/caveat/svg/U+003d.svg +12 -0
- package/fonts/caveat/svg/U+003d.tsx +14 -0
- package/fonts/caveat/svg/U+003e.svg +12 -0
- package/fonts/caveat/svg/U+003e.tsx +14 -0
- package/fonts/caveat/svg/U+003f.svg +12 -0
- package/fonts/caveat/svg/U+003f.tsx +14 -0
- package/fonts/caveat/svg/U+0040.svg +7 -0
- package/fonts/caveat/svg/U+0040.tsx +9 -0
- package/fonts/caveat/svg/U+005c.svg +7 -0
- package/fonts/caveat/svg/U+005c.tsx +9 -0
- package/fonts/caveat/svg/U+005e.svg +7 -0
- package/fonts/caveat/svg/U+005e.tsx +9 -0
- package/fonts/caveat/svg/U+005f.svg +7 -0
- package/fonts/caveat/svg/U+005f.tsx +9 -0
- package/fonts/caveat/svg/U+0060.svg +7 -0
- package/fonts/caveat/svg/U+0060.tsx +9 -0
- package/fonts/caveat/svg/U+007c.svg +7 -0
- package/fonts/caveat/svg/U+007c.tsx +9 -0
- package/fonts/caveat/svg/U+007e.svg +7 -0
- package/fonts/caveat/svg/U+007e.tsx +9 -0
- package/fonts/caveat/svg/a.svg +7 -0
- package/fonts/caveat/svg/a.tsx +9 -0
- package/fonts/caveat/svg/b.svg +12 -0
- package/fonts/caveat/svg/b.tsx +14 -0
- package/fonts/caveat/svg/c.svg +7 -0
- package/fonts/caveat/svg/c.tsx +9 -0
- package/fonts/caveat/svg/d.svg +12 -0
- package/fonts/caveat/svg/d.tsx +14 -0
- package/fonts/caveat/svg/e.svg +7 -0
- package/fonts/caveat/svg/e.tsx +9 -0
- package/fonts/caveat/svg/f.svg +12 -0
- package/fonts/caveat/svg/f.tsx +14 -0
- package/fonts/caveat/svg/g.svg +15 -0
- package/fonts/caveat/svg/g.tsx +17 -0
- package/fonts/caveat/svg/h.svg +7 -0
- package/fonts/caveat/svg/h.tsx +9 -0
- package/fonts/caveat/svg/i.svg +12 -0
- package/fonts/caveat/svg/i.tsx +14 -0
- package/fonts/caveat/svg/j.svg +12 -0
- package/fonts/caveat/svg/j.tsx +14 -0
- package/fonts/caveat/svg/k.svg +15 -0
- package/fonts/caveat/svg/k.tsx +17 -0
- package/fonts/caveat/svg/l.svg +7 -0
- package/fonts/caveat/svg/l.tsx +9 -0
- package/fonts/caveat/svg/m.svg +17 -0
- package/fonts/caveat/svg/m.tsx +19 -0
- package/fonts/caveat/svg/n.svg +17 -0
- package/fonts/caveat/svg/n.tsx +19 -0
- package/fonts/caveat/svg/o.svg +7 -0
- package/fonts/caveat/svg/o.tsx +9 -0
- package/fonts/caveat/svg/p.svg +12 -0
- package/fonts/caveat/svg/p.tsx +14 -0
- package/fonts/caveat/svg/q.svg +7 -0
- package/fonts/caveat/svg/q.tsx +9 -0
- package/fonts/caveat/svg/r.svg +12 -0
- package/fonts/caveat/svg/r.tsx +14 -0
- package/fonts/caveat/svg/s.svg +7 -0
- package/fonts/caveat/svg/s.tsx +9 -0
- package/fonts/caveat/svg/t.svg +20 -0
- package/fonts/caveat/svg/t.tsx +22 -0
- package/fonts/caveat/svg/u.svg +12 -0
- package/fonts/caveat/svg/u.tsx +14 -0
- package/fonts/caveat/svg/upper_A.svg +12 -0
- package/fonts/caveat/svg/upper_A.tsx +14 -0
- package/fonts/caveat/svg/upper_B.svg +17 -0
- package/fonts/caveat/svg/upper_B.tsx +19 -0
- package/fonts/caveat/svg/upper_C.svg +7 -0
- package/fonts/caveat/svg/upper_C.tsx +9 -0
- package/fonts/caveat/svg/upper_D.svg +12 -0
- package/fonts/caveat/svg/upper_D.tsx +14 -0
- package/fonts/caveat/svg/upper_E.svg +12 -0
- package/fonts/caveat/svg/upper_E.tsx +14 -0
- package/fonts/caveat/svg/upper_F.svg +17 -0
- package/fonts/caveat/svg/upper_F.tsx +19 -0
- package/fonts/caveat/svg/upper_G.svg +7 -0
- package/fonts/caveat/svg/upper_G.tsx +9 -0
- package/fonts/caveat/svg/upper_H.svg +17 -0
- package/fonts/caveat/svg/upper_H.tsx +19 -0
- package/fonts/caveat/svg/upper_I.svg +17 -0
- package/fonts/caveat/svg/upper_I.tsx +19 -0
- package/fonts/caveat/svg/upper_J.svg +7 -0
- package/fonts/caveat/svg/upper_J.tsx +9 -0
- package/fonts/caveat/svg/upper_K.svg +12 -0
- package/fonts/caveat/svg/upper_K.tsx +14 -0
- package/fonts/caveat/svg/upper_L.svg +7 -0
- package/fonts/caveat/svg/upper_L.tsx +9 -0
- package/fonts/caveat/svg/upper_M.svg +17 -0
- package/fonts/caveat/svg/upper_M.tsx +19 -0
- package/fonts/caveat/svg/upper_N.svg +7 -0
- package/fonts/caveat/svg/upper_N.tsx +9 -0
- package/fonts/caveat/svg/upper_O.svg +7 -0
- package/fonts/caveat/svg/upper_O.tsx +9 -0
- package/fonts/caveat/svg/upper_P.svg +12 -0
- package/fonts/caveat/svg/upper_P.tsx +14 -0
- package/fonts/caveat/svg/upper_Q.svg +15 -0
- package/fonts/caveat/svg/upper_Q.tsx +17 -0
- package/fonts/caveat/svg/upper_R.svg +12 -0
- package/fonts/caveat/svg/upper_R.tsx +14 -0
- package/fonts/caveat/svg/upper_S.svg +7 -0
- package/fonts/caveat/svg/upper_S.tsx +9 -0
- package/fonts/caveat/svg/upper_T.svg +12 -0
- package/fonts/caveat/svg/upper_T.tsx +14 -0
- package/fonts/caveat/svg/upper_U.svg +15 -0
- package/fonts/caveat/svg/upper_U.tsx +17 -0
- package/fonts/caveat/svg/upper_V.svg +12 -0
- package/fonts/caveat/svg/upper_V.tsx +14 -0
- package/fonts/caveat/svg/upper_W.svg +12 -0
- package/fonts/caveat/svg/upper_W.tsx +14 -0
- package/fonts/caveat/svg/upper_X.svg +12 -0
- package/fonts/caveat/svg/upper_X.tsx +14 -0
- package/fonts/caveat/svg/upper_Y.svg +12 -0
- package/fonts/caveat/svg/upper_Y.tsx +14 -0
- package/fonts/caveat/svg/upper_Z.svg +7 -0
- package/fonts/caveat/svg/upper_Z.tsx +9 -0
- package/fonts/caveat/svg/v.svg +7 -0
- package/fonts/caveat/svg/v.tsx +9 -0
- package/fonts/caveat/svg/w.svg +12 -0
- package/fonts/caveat/svg/w.tsx +14 -0
- package/fonts/caveat/svg/x.svg +17 -0
- package/fonts/caveat/svg/x.tsx +19 -0
- package/fonts/caveat/svg/y.svg +12 -0
- package/fonts/caveat/svg/y.tsx +14 -0
- package/fonts/caveat/svg/z.svg +7 -0
- package/fonts/caveat/svg/z.tsx +9 -0
- package/fonts/italianno/bundle.ts +300 -0
- package/fonts/italianno/font.json +33410 -0
- package/fonts/italianno/glyphData.json +1 -0
- package/fonts/italianno/italianno.ttf +0 -0
- package/fonts/italianno/svg/0.svg +10 -0
- package/fonts/italianno/svg/0.tsx +12 -0
- package/fonts/italianno/svg/1.svg +17 -0
- package/fonts/italianno/svg/1.tsx +19 -0
- package/fonts/italianno/svg/2.svg +12 -0
- package/fonts/italianno/svg/2.tsx +14 -0
- package/fonts/italianno/svg/3.svg +17 -0
- package/fonts/italianno/svg/3.tsx +19 -0
- package/fonts/italianno/svg/4.svg +22 -0
- package/fonts/italianno/svg/4.tsx +24 -0
- package/fonts/italianno/svg/5.svg +12 -0
- package/fonts/italianno/svg/5.tsx +14 -0
- package/fonts/italianno/svg/6.svg +13 -0
- package/fonts/italianno/svg/6.tsx +15 -0
- package/fonts/italianno/svg/7.svg +12 -0
- package/fonts/italianno/svg/7.tsx +14 -0
- package/fonts/italianno/svg/8.svg +7 -0
- package/fonts/italianno/svg/8.tsx +9 -0
- package/fonts/italianno/svg/9.svg +12 -0
- package/fonts/italianno/svg/9.tsx +14 -0
- package/fonts/italianno/svg/U+0021.svg +12 -0
- package/fonts/italianno/svg/U+0021.tsx +14 -0
- package/fonts/italianno/svg/U+0022.svg +15 -0
- package/fonts/italianno/svg/U+0022.tsx +17 -0
- package/fonts/italianno/svg/U+0023.svg +22 -0
- package/fonts/italianno/svg/U+0023.tsx +24 -0
- package/fonts/italianno/svg/U+0024.svg +25 -0
- package/fonts/italianno/svg/U+0024.tsx +27 -0
- package/fonts/italianno/svg/U+0025.svg +22 -0
- package/fonts/italianno/svg/U+0025.tsx +24 -0
- package/fonts/italianno/svg/U+0026.svg +17 -0
- package/fonts/italianno/svg/U+0026.tsx +19 -0
- package/fonts/italianno/svg/U+0027.svg +7 -0
- package/fonts/italianno/svg/U+0027.tsx +9 -0
- package/fonts/italianno/svg/U+0028.svg +7 -0
- package/fonts/italianno/svg/U+0028.tsx +9 -0
- package/fonts/italianno/svg/U+0029.svg +7 -0
- package/fonts/italianno/svg/U+0029.tsx +9 -0
- package/fonts/italianno/svg/U+002a.svg +22 -0
- package/fonts/italianno/svg/U+002a.tsx +24 -0
- package/fonts/italianno/svg/U+002b.svg +12 -0
- package/fonts/italianno/svg/U+002b.tsx +14 -0
- package/fonts/italianno/svg/U+002c.svg +12 -0
- package/fonts/italianno/svg/U+002c.tsx +14 -0
- package/fonts/italianno/svg/U+002d.svg +7 -0
- package/fonts/italianno/svg/U+002d.tsx +9 -0
- package/fonts/italianno/svg/U+002e.svg +7 -0
- package/fonts/italianno/svg/U+002e.tsx +9 -0
- package/fonts/italianno/svg/U+002f.svg +7 -0
- package/fonts/italianno/svg/U+002f.tsx +9 -0
- package/fonts/italianno/svg/U+003a.svg +12 -0
- package/fonts/italianno/svg/U+003a.tsx +14 -0
- package/fonts/italianno/svg/U+003b.svg +12 -0
- package/fonts/italianno/svg/U+003b.tsx +14 -0
- package/fonts/italianno/svg/U+003c.svg +7 -0
- package/fonts/italianno/svg/U+003c.tsx +9 -0
- package/fonts/italianno/svg/U+003d.svg +12 -0
- package/fonts/italianno/svg/U+003d.tsx +14 -0
- package/fonts/italianno/svg/U+003e.svg +12 -0
- package/fonts/italianno/svg/U+003e.tsx +14 -0
- package/fonts/italianno/svg/U+003f.svg +12 -0
- package/fonts/italianno/svg/U+003f.tsx +14 -0
- package/fonts/italianno/svg/U+0040.svg +15 -0
- package/fonts/italianno/svg/U+0040.tsx +17 -0
- package/fonts/italianno/svg/U+005c.svg +7 -0
- package/fonts/italianno/svg/U+005c.tsx +9 -0
- package/fonts/italianno/svg/U+005e.svg +12 -0
- package/fonts/italianno/svg/U+005e.tsx +14 -0
- package/fonts/italianno/svg/U+005f.svg +3 -0
- package/fonts/italianno/svg/U+005f.tsx +5 -0
- package/fonts/italianno/svg/U+0060.svg +10 -0
- package/fonts/italianno/svg/U+0060.tsx +12 -0
- package/fonts/italianno/svg/U+007c.svg +7 -0
- package/fonts/italianno/svg/U+007c.tsx +9 -0
- package/fonts/italianno/svg/U+007e.svg +7 -0
- package/fonts/italianno/svg/U+007e.tsx +9 -0
- package/fonts/italianno/svg/a.svg +12 -0
- package/fonts/italianno/svg/a.tsx +14 -0
- package/fonts/italianno/svg/b.svg +10 -0
- package/fonts/italianno/svg/b.tsx +12 -0
- package/fonts/italianno/svg/c.svg +10 -0
- package/fonts/italianno/svg/c.tsx +12 -0
- package/fonts/italianno/svg/d.svg +15 -0
- package/fonts/italianno/svg/d.tsx +17 -0
- package/fonts/italianno/svg/e.svg +12 -0
- package/fonts/italianno/svg/e.tsx +14 -0
- package/fonts/italianno/svg/f.svg +12 -0
- package/fonts/italianno/svg/f.tsx +14 -0
- package/fonts/italianno/svg/g.svg +12 -0
- package/fonts/italianno/svg/g.tsx +14 -0
- package/fonts/italianno/svg/h.svg +12 -0
- package/fonts/italianno/svg/h.tsx +14 -0
- package/fonts/italianno/svg/i.svg +17 -0
- package/fonts/italianno/svg/i.tsx +19 -0
- package/fonts/italianno/svg/j.svg +12 -0
- package/fonts/italianno/svg/j.tsx +14 -0
- package/fonts/italianno/svg/k.svg +17 -0
- package/fonts/italianno/svg/k.tsx +19 -0
- package/fonts/italianno/svg/l.svg +15 -0
- package/fonts/italianno/svg/l.tsx +17 -0
- package/fonts/italianno/svg/m.svg +27 -0
- package/fonts/italianno/svg/m.tsx +29 -0
- package/fonts/italianno/svg/n.svg +22 -0
- package/fonts/italianno/svg/n.tsx +24 -0
- package/fonts/italianno/svg/o.svg +20 -0
- package/fonts/italianno/svg/o.tsx +22 -0
- package/fonts/italianno/svg/p.svg +12 -0
- package/fonts/italianno/svg/p.tsx +14 -0
- package/fonts/italianno/svg/q.svg +17 -0
- package/fonts/italianno/svg/q.tsx +19 -0
- package/fonts/italianno/svg/r.svg +22 -0
- package/fonts/italianno/svg/r.tsx +24 -0
- package/fonts/italianno/svg/s.svg +15 -0
- package/fonts/italianno/svg/s.tsx +17 -0
- package/fonts/italianno/svg/t.svg +17 -0
- package/fonts/italianno/svg/t.tsx +19 -0
- package/fonts/italianno/svg/u.svg +12 -0
- package/fonts/italianno/svg/u.tsx +14 -0
- package/fonts/italianno/svg/upper_A.svg +17 -0
- package/fonts/italianno/svg/upper_A.tsx +19 -0
- package/fonts/italianno/svg/upper_B.svg +27 -0
- package/fonts/italianno/svg/upper_B.tsx +29 -0
- package/fonts/italianno/svg/upper_C.svg +7 -0
- package/fonts/italianno/svg/upper_C.tsx +9 -0
- package/fonts/italianno/svg/upper_D.svg +12 -0
- package/fonts/italianno/svg/upper_D.tsx +14 -0
- package/fonts/italianno/svg/upper_E.svg +17 -0
- package/fonts/italianno/svg/upper_E.tsx +19 -0
- package/fonts/italianno/svg/upper_F.svg +17 -0
- package/fonts/italianno/svg/upper_F.tsx +19 -0
- package/fonts/italianno/svg/upper_G.svg +20 -0
- package/fonts/italianno/svg/upper_G.tsx +22 -0
- package/fonts/italianno/svg/upper_H.svg +17 -0
- package/fonts/italianno/svg/upper_H.tsx +19 -0
- package/fonts/italianno/svg/upper_I.svg +12 -0
- package/fonts/italianno/svg/upper_I.tsx +14 -0
- package/fonts/italianno/svg/upper_J.svg +10 -0
- package/fonts/italianno/svg/upper_J.tsx +12 -0
- package/fonts/italianno/svg/upper_K.svg +20 -0
- package/fonts/italianno/svg/upper_K.tsx +22 -0
- package/fonts/italianno/svg/upper_L.svg +12 -0
- package/fonts/italianno/svg/upper_L.tsx +14 -0
- package/fonts/italianno/svg/upper_M.svg +17 -0
- package/fonts/italianno/svg/upper_M.tsx +19 -0
- package/fonts/italianno/svg/upper_N.svg +17 -0
- package/fonts/italianno/svg/upper_N.tsx +19 -0
- package/fonts/italianno/svg/upper_O.svg +17 -0
- package/fonts/italianno/svg/upper_O.tsx +19 -0
- package/fonts/italianno/svg/upper_P.svg +22 -0
- package/fonts/italianno/svg/upper_P.tsx +24 -0
- package/fonts/italianno/svg/upper_Q.svg +12 -0
- package/fonts/italianno/svg/upper_Q.tsx +14 -0
- package/fonts/italianno/svg/upper_R.svg +15 -0
- package/fonts/italianno/svg/upper_R.tsx +17 -0
- package/fonts/italianno/svg/upper_S.svg +12 -0
- package/fonts/italianno/svg/upper_S.tsx +14 -0
- package/fonts/italianno/svg/upper_T.svg +17 -0
- package/fonts/italianno/svg/upper_T.tsx +19 -0
- package/fonts/italianno/svg/upper_U.svg +17 -0
- package/fonts/italianno/svg/upper_U.tsx +19 -0
- package/fonts/italianno/svg/upper_V.svg +17 -0
- package/fonts/italianno/svg/upper_V.tsx +19 -0
- package/fonts/italianno/svg/upper_W.svg +17 -0
- package/fonts/italianno/svg/upper_W.tsx +19 -0
- package/fonts/italianno/svg/upper_X.svg +22 -0
- package/fonts/italianno/svg/upper_X.tsx +24 -0
- package/fonts/italianno/svg/upper_Y.svg +22 -0
- package/fonts/italianno/svg/upper_Y.tsx +24 -0
- package/fonts/italianno/svg/upper_Z.svg +12 -0
- package/fonts/italianno/svg/upper_Z.tsx +14 -0
- package/fonts/italianno/svg/v.svg +17 -0
- package/fonts/italianno/svg/v.tsx +19 -0
- package/fonts/italianno/svg/w.svg +17 -0
- package/fonts/italianno/svg/w.tsx +19 -0
- package/fonts/italianno/svg/x.svg +15 -0
- package/fonts/italianno/svg/x.tsx +17 -0
- package/fonts/italianno/svg/y.svg +12 -0
- package/fonts/italianno/svg/y.tsx +14 -0
- package/fonts/italianno/svg/z.svg +17 -0
- package/fonts/italianno/svg/z.tsx +19 -0
- package/fonts/parisienne/bundle.ts +300 -0
- package/fonts/parisienne/font.json +36222 -0
- package/fonts/parisienne/glyphData.json +1 -0
- package/fonts/parisienne/parisienne.ttf +0 -0
- package/fonts/parisienne/svg/0.svg +7 -0
- package/fonts/parisienne/svg/0.tsx +9 -0
- package/fonts/parisienne/svg/1.svg +12 -0
- package/fonts/parisienne/svg/1.tsx +14 -0
- package/fonts/parisienne/svg/2.svg +7 -0
- package/fonts/parisienne/svg/2.tsx +9 -0
- package/fonts/parisienne/svg/3.svg +7 -0
- package/fonts/parisienne/svg/3.tsx +9 -0
- package/fonts/parisienne/svg/4.svg +17 -0
- package/fonts/parisienne/svg/4.tsx +19 -0
- package/fonts/parisienne/svg/5.svg +10 -0
- package/fonts/parisienne/svg/5.tsx +12 -0
- package/fonts/parisienne/svg/6.svg +7 -0
- package/fonts/parisienne/svg/6.tsx +9 -0
- package/fonts/parisienne/svg/7.svg +12 -0
- package/fonts/parisienne/svg/7.tsx +14 -0
- package/fonts/parisienne/svg/8.svg +7 -0
- package/fonts/parisienne/svg/8.tsx +9 -0
- package/fonts/parisienne/svg/9.svg +7 -0
- package/fonts/parisienne/svg/9.tsx +9 -0
- package/fonts/parisienne/svg/U+0021.svg +10 -0
- package/fonts/parisienne/svg/U+0021.tsx +12 -0
- package/fonts/parisienne/svg/U+0022.svg +12 -0
- package/fonts/parisienne/svg/U+0022.tsx +14 -0
- package/fonts/parisienne/svg/U+0023.svg +22 -0
- package/fonts/parisienne/svg/U+0023.tsx +24 -0
- package/fonts/parisienne/svg/U+0024.svg +15 -0
- package/fonts/parisienne/svg/U+0024.tsx +17 -0
- package/fonts/parisienne/svg/U+0025.svg +22 -0
- package/fonts/parisienne/svg/U+0025.tsx +24 -0
- package/fonts/parisienne/svg/U+0026.svg +17 -0
- package/fonts/parisienne/svg/U+0026.tsx +19 -0
- package/fonts/parisienne/svg/U+0027.svg +7 -0
- package/fonts/parisienne/svg/U+0027.tsx +9 -0
- package/fonts/parisienne/svg/U+0028.svg +7 -0
- package/fonts/parisienne/svg/U+0028.tsx +9 -0
- package/fonts/parisienne/svg/U+0029.svg +7 -0
- package/fonts/parisienne/svg/U+0029.tsx +9 -0
- package/fonts/parisienne/svg/U+002a.svg +22 -0
- package/fonts/parisienne/svg/U+002a.tsx +24 -0
- package/fonts/parisienne/svg/U+002b.svg +12 -0
- package/fonts/parisienne/svg/U+002b.tsx +14 -0
- package/fonts/parisienne/svg/U+002c.svg +7 -0
- package/fonts/parisienne/svg/U+002c.tsx +9 -0
- package/fonts/parisienne/svg/U+002d.svg +7 -0
- package/fonts/parisienne/svg/U+002d.tsx +9 -0
- package/fonts/parisienne/svg/U+002e.svg +7 -0
- package/fonts/parisienne/svg/U+002e.tsx +9 -0
- package/fonts/parisienne/svg/U+002f.svg +7 -0
- package/fonts/parisienne/svg/U+002f.tsx +9 -0
- package/fonts/parisienne/svg/U+003a.svg +8 -0
- package/fonts/parisienne/svg/U+003a.tsx +10 -0
- package/fonts/parisienne/svg/U+003b.svg +10 -0
- package/fonts/parisienne/svg/U+003b.tsx +12 -0
- package/fonts/parisienne/svg/U+003c.svg +7 -0
- package/fonts/parisienne/svg/U+003c.tsx +9 -0
- package/fonts/parisienne/svg/U+003d.svg +12 -0
- package/fonts/parisienne/svg/U+003d.tsx +14 -0
- package/fonts/parisienne/svg/U+003e.svg +7 -0
- package/fonts/parisienne/svg/U+003e.tsx +9 -0
- package/fonts/parisienne/svg/U+003f.svg +10 -0
- package/fonts/parisienne/svg/U+003f.tsx +12 -0
- package/fonts/parisienne/svg/U+0040.svg +15 -0
- package/fonts/parisienne/svg/U+0040.tsx +17 -0
- package/fonts/parisienne/svg/U+005c.svg +7 -0
- package/fonts/parisienne/svg/U+005c.tsx +9 -0
- package/fonts/parisienne/svg/U+005e.svg +7 -0
- package/fonts/parisienne/svg/U+005e.tsx +9 -0
- package/fonts/parisienne/svg/U+005f.svg +7 -0
- package/fonts/parisienne/svg/U+005f.tsx +9 -0
- package/fonts/parisienne/svg/U+0060.svg +10 -0
- package/fonts/parisienne/svg/U+0060.tsx +12 -0
- package/fonts/parisienne/svg/U+007c.svg +7 -0
- package/fonts/parisienne/svg/U+007c.tsx +9 -0
- package/fonts/parisienne/svg/U+007e.svg +7 -0
- package/fonts/parisienne/svg/U+007e.tsx +9 -0
- package/fonts/parisienne/svg/a.svg +15 -0
- package/fonts/parisienne/svg/a.tsx +17 -0
- package/fonts/parisienne/svg/b.svg +7 -0
- package/fonts/parisienne/svg/b.tsx +9 -0
- package/fonts/parisienne/svg/c.svg +12 -0
- package/fonts/parisienne/svg/c.tsx +14 -0
- package/fonts/parisienne/svg/d.svg +12 -0
- package/fonts/parisienne/svg/d.tsx +14 -0
- package/fonts/parisienne/svg/e.svg +17 -0
- package/fonts/parisienne/svg/e.tsx +19 -0
- package/fonts/parisienne/svg/f.svg +12 -0
- package/fonts/parisienne/svg/f.tsx +14 -0
- package/fonts/parisienne/svg/g.svg +10 -0
- package/fonts/parisienne/svg/g.tsx +12 -0
- package/fonts/parisienne/svg/h.svg +12 -0
- package/fonts/parisienne/svg/h.tsx +14 -0
- package/fonts/parisienne/svg/i.svg +12 -0
- package/fonts/parisienne/svg/i.tsx +14 -0
- package/fonts/parisienne/svg/j.svg +17 -0
- package/fonts/parisienne/svg/j.tsx +19 -0
- package/fonts/parisienne/svg/k.svg +17 -0
- package/fonts/parisienne/svg/k.tsx +19 -0
- package/fonts/parisienne/svg/l.svg +7 -0
- package/fonts/parisienne/svg/l.tsx +9 -0
- package/fonts/parisienne/svg/m.svg +17 -0
- package/fonts/parisienne/svg/m.tsx +19 -0
- package/fonts/parisienne/svg/n.svg +12 -0
- package/fonts/parisienne/svg/n.tsx +14 -0
- package/fonts/parisienne/svg/o.svg +15 -0
- package/fonts/parisienne/svg/o.tsx +17 -0
- package/fonts/parisienne/svg/p.svg +12 -0
- package/fonts/parisienne/svg/p.tsx +14 -0
- package/fonts/parisienne/svg/q.svg +12 -0
- package/fonts/parisienne/svg/q.tsx +14 -0
- package/fonts/parisienne/svg/r.svg +7 -0
- package/fonts/parisienne/svg/r.tsx +9 -0
- package/fonts/parisienne/svg/s.svg +17 -0
- package/fonts/parisienne/svg/s.tsx +19 -0
- package/fonts/parisienne/svg/t.svg +20 -0
- package/fonts/parisienne/svg/t.tsx +22 -0
- package/fonts/parisienne/svg/u.svg +12 -0
- package/fonts/parisienne/svg/u.tsx +14 -0
- package/fonts/parisienne/svg/upper_A.svg +10 -0
- package/fonts/parisienne/svg/upper_A.tsx +12 -0
- package/fonts/parisienne/svg/upper_B.svg +12 -0
- package/fonts/parisienne/svg/upper_B.tsx +14 -0
- package/fonts/parisienne/svg/upper_C.svg +7 -0
- package/fonts/parisienne/svg/upper_C.tsx +9 -0
- package/fonts/parisienne/svg/upper_D.svg +7 -0
- package/fonts/parisienne/svg/upper_D.tsx +9 -0
- package/fonts/parisienne/svg/upper_E.svg +10 -0
- package/fonts/parisienne/svg/upper_E.tsx +12 -0
- package/fonts/parisienne/svg/upper_F.svg +22 -0
- package/fonts/parisienne/svg/upper_F.tsx +24 -0
- package/fonts/parisienne/svg/upper_G.svg +15 -0
- package/fonts/parisienne/svg/upper_G.tsx +17 -0
- package/fonts/parisienne/svg/upper_H.svg +15 -0
- package/fonts/parisienne/svg/upper_H.tsx +17 -0
- package/fonts/parisienne/svg/upper_I.svg +15 -0
- package/fonts/parisienne/svg/upper_I.tsx +17 -0
- package/fonts/parisienne/svg/upper_J.svg +15 -0
- package/fonts/parisienne/svg/upper_J.tsx +17 -0
- package/fonts/parisienne/svg/upper_K.svg +12 -0
- package/fonts/parisienne/svg/upper_K.tsx +14 -0
- package/fonts/parisienne/svg/upper_L.svg +7 -0
- package/fonts/parisienne/svg/upper_L.tsx +9 -0
- package/fonts/parisienne/svg/upper_M.svg +15 -0
- package/fonts/parisienne/svg/upper_M.tsx +17 -0
- package/fonts/parisienne/svg/upper_N.svg +12 -0
- package/fonts/parisienne/svg/upper_N.tsx +14 -0
- package/fonts/parisienne/svg/upper_O.svg +7 -0
- package/fonts/parisienne/svg/upper_O.tsx +9 -0
- package/fonts/parisienne/svg/upper_P.svg +12 -0
- package/fonts/parisienne/svg/upper_P.tsx +14 -0
- package/fonts/parisienne/svg/upper_Q.svg +15 -0
- package/fonts/parisienne/svg/upper_Q.tsx +17 -0
- package/fonts/parisienne/svg/upper_R.svg +12 -0
- package/fonts/parisienne/svg/upper_R.tsx +14 -0
- package/fonts/parisienne/svg/upper_S.svg +7 -0
- package/fonts/parisienne/svg/upper_S.tsx +9 -0
- package/fonts/parisienne/svg/upper_T.svg +12 -0
- package/fonts/parisienne/svg/upper_T.tsx +14 -0
- package/fonts/parisienne/svg/upper_U.svg +17 -0
- package/fonts/parisienne/svg/upper_U.tsx +19 -0
- package/fonts/parisienne/svg/upper_V.svg +7 -0
- package/fonts/parisienne/svg/upper_V.tsx +9 -0
- package/fonts/parisienne/svg/upper_W.svg +12 -0
- package/fonts/parisienne/svg/upper_W.tsx +14 -0
- package/fonts/parisienne/svg/upper_X.svg +27 -0
- package/fonts/parisienne/svg/upper_X.tsx +29 -0
- package/fonts/parisienne/svg/upper_Y.svg +15 -0
- package/fonts/parisienne/svg/upper_Y.tsx +17 -0
- package/fonts/parisienne/svg/upper_Z.svg +12 -0
- package/fonts/parisienne/svg/upper_Z.tsx +14 -0
- package/fonts/parisienne/svg/v.svg +7 -0
- package/fonts/parisienne/svg/v.tsx +9 -0
- package/fonts/parisienne/svg/w.svg +17 -0
- package/fonts/parisienne/svg/w.tsx +19 -0
- package/fonts/parisienne/svg/x.svg +17 -0
- package/fonts/parisienne/svg/x.tsx +19 -0
- package/fonts/parisienne/svg/y.svg +17 -0
- package/fonts/parisienne/svg/y.tsx +19 -0
- package/fonts/parisienne/svg/z.svg +12 -0
- package/fonts/parisienne/svg/z.tsx +14 -0
- package/fonts/tangerine/bundle.ts +300 -0
- package/fonts/tangerine/font.json +31512 -0
- package/fonts/tangerine/glyphData.json +1 -0
- package/fonts/tangerine/svg/0.svg +7 -0
- package/fonts/tangerine/svg/0.tsx +9 -0
- package/fonts/tangerine/svg/1.svg +12 -0
- package/fonts/tangerine/svg/1.tsx +14 -0
- package/fonts/tangerine/svg/2.svg +12 -0
- package/fonts/tangerine/svg/2.tsx +14 -0
- package/fonts/tangerine/svg/3.svg +12 -0
- package/fonts/tangerine/svg/3.tsx +14 -0
- package/fonts/tangerine/svg/4.svg +12 -0
- package/fonts/tangerine/svg/4.tsx +14 -0
- package/fonts/tangerine/svg/5.svg +7 -0
- package/fonts/tangerine/svg/5.tsx +9 -0
- package/fonts/tangerine/svg/6.svg +7 -0
- package/fonts/tangerine/svg/6.tsx +9 -0
- package/fonts/tangerine/svg/7.svg +12 -0
- package/fonts/tangerine/svg/7.tsx +14 -0
- package/fonts/tangerine/svg/8.svg +7 -0
- package/fonts/tangerine/svg/8.tsx +9 -0
- package/fonts/tangerine/svg/9.svg +7 -0
- package/fonts/tangerine/svg/9.tsx +9 -0
- package/fonts/tangerine/svg/U+0021.svg +12 -0
- package/fonts/tangerine/svg/U+0021.tsx +14 -0
- package/fonts/tangerine/svg/U+0022.svg +12 -0
- package/fonts/tangerine/svg/U+0022.tsx +14 -0
- package/fonts/tangerine/svg/U+0023.svg +22 -0
- package/fonts/tangerine/svg/U+0023.tsx +24 -0
- package/fonts/tangerine/svg/U+0024.svg +12 -0
- package/fonts/tangerine/svg/U+0024.tsx +14 -0
- package/fonts/tangerine/svg/U+0025.svg +17 -0
- package/fonts/tangerine/svg/U+0025.tsx +19 -0
- package/fonts/tangerine/svg/U+0026.svg +7 -0
- package/fonts/tangerine/svg/U+0026.tsx +9 -0
- package/fonts/tangerine/svg/U+0027.svg +7 -0
- package/fonts/tangerine/svg/U+0027.tsx +9 -0
- package/fonts/tangerine/svg/U+0028.svg +7 -0
- package/fonts/tangerine/svg/U+0028.tsx +9 -0
- package/fonts/tangerine/svg/U+0029.svg +7 -0
- package/fonts/tangerine/svg/U+0029.tsx +9 -0
- package/fonts/tangerine/svg/U+002a.svg +17 -0
- package/fonts/tangerine/svg/U+002a.tsx +19 -0
- package/fonts/tangerine/svg/U+002b.svg +12 -0
- package/fonts/tangerine/svg/U+002b.tsx +14 -0
- package/fonts/tangerine/svg/U+002c.svg +10 -0
- package/fonts/tangerine/svg/U+002c.tsx +12 -0
- package/fonts/tangerine/svg/U+002d.svg +7 -0
- package/fonts/tangerine/svg/U+002d.tsx +9 -0
- package/fonts/tangerine/svg/U+002e.svg +10 -0
- package/fonts/tangerine/svg/U+002e.tsx +12 -0
- package/fonts/tangerine/svg/U+002f.svg +7 -0
- package/fonts/tangerine/svg/U+002f.tsx +9 -0
- package/fonts/tangerine/svg/U+003a.svg +12 -0
- package/fonts/tangerine/svg/U+003a.tsx +14 -0
- package/fonts/tangerine/svg/U+003b.svg +12 -0
- package/fonts/tangerine/svg/U+003b.tsx +14 -0
- package/fonts/tangerine/svg/U+003c.svg +12 -0
- package/fonts/tangerine/svg/U+003c.tsx +14 -0
- package/fonts/tangerine/svg/U+003d.svg +12 -0
- package/fonts/tangerine/svg/U+003d.tsx +14 -0
- package/fonts/tangerine/svg/U+003e.svg +12 -0
- package/fonts/tangerine/svg/U+003e.tsx +14 -0
- package/fonts/tangerine/svg/U+003f.svg +12 -0
- package/fonts/tangerine/svg/U+003f.tsx +14 -0
- package/fonts/tangerine/svg/U+0040.svg +15 -0
- package/fonts/tangerine/svg/U+0040.tsx +17 -0
- package/fonts/tangerine/svg/U+005c.svg +7 -0
- package/fonts/tangerine/svg/U+005c.tsx +9 -0
- package/fonts/tangerine/svg/U+005e.svg +12 -0
- package/fonts/tangerine/svg/U+005e.tsx +14 -0
- package/fonts/tangerine/svg/U+005f.svg +7 -0
- package/fonts/tangerine/svg/U+005f.tsx +9 -0
- package/fonts/tangerine/svg/U+0060.svg +7 -0
- package/fonts/tangerine/svg/U+0060.tsx +9 -0
- package/fonts/tangerine/svg/U+007c.svg +7 -0
- package/fonts/tangerine/svg/U+007c.tsx +9 -0
- package/fonts/tangerine/svg/U+007e.svg +7 -0
- package/fonts/tangerine/svg/U+007e.tsx +9 -0
- package/fonts/tangerine/svg/a.svg +12 -0
- package/fonts/tangerine/svg/a.tsx +14 -0
- package/fonts/tangerine/svg/b.svg +7 -0
- package/fonts/tangerine/svg/b.tsx +9 -0
- package/fonts/tangerine/svg/c.svg +7 -0
- package/fonts/tangerine/svg/c.tsx +9 -0
- package/fonts/tangerine/svg/d.svg +12 -0
- package/fonts/tangerine/svg/d.tsx +14 -0
- package/fonts/tangerine/svg/e.svg +15 -0
- package/fonts/tangerine/svg/e.tsx +17 -0
- package/fonts/tangerine/svg/f.svg +15 -0
- package/fonts/tangerine/svg/f.tsx +17 -0
- package/fonts/tangerine/svg/g.svg +12 -0
- package/fonts/tangerine/svg/g.tsx +14 -0
- package/fonts/tangerine/svg/h.svg +12 -0
- package/fonts/tangerine/svg/h.tsx +14 -0
- package/fonts/tangerine/svg/i.svg +15 -0
- package/fonts/tangerine/svg/i.tsx +17 -0
- package/fonts/tangerine/svg/j.svg +12 -0
- package/fonts/tangerine/svg/j.tsx +14 -0
- package/fonts/tangerine/svg/k.svg +12 -0
- package/fonts/tangerine/svg/k.tsx +14 -0
- package/fonts/tangerine/svg/l.svg +7 -0
- package/fonts/tangerine/svg/l.tsx +9 -0
- package/fonts/tangerine/svg/m.svg +17 -0
- package/fonts/tangerine/svg/m.tsx +19 -0
- package/fonts/tangerine/svg/n.svg +12 -0
- package/fonts/tangerine/svg/n.tsx +14 -0
- package/fonts/tangerine/svg/o.svg +12 -0
- package/fonts/tangerine/svg/o.tsx +14 -0
- package/fonts/tangerine/svg/p.svg +17 -0
- package/fonts/tangerine/svg/p.tsx +19 -0
- package/fonts/tangerine/svg/q.svg +15 -0
- package/fonts/tangerine/svg/q.tsx +17 -0
- package/fonts/tangerine/svg/r.svg +17 -0
- package/fonts/tangerine/svg/r.tsx +19 -0
- package/fonts/tangerine/svg/s.svg +10 -0
- package/fonts/tangerine/svg/s.tsx +12 -0
- package/fonts/tangerine/svg/t.svg +17 -0
- package/fonts/tangerine/svg/t.tsx +19 -0
- package/fonts/tangerine/svg/u.svg +17 -0
- package/fonts/tangerine/svg/u.tsx +19 -0
- package/fonts/tangerine/svg/upper_A.svg +20 -0
- package/fonts/tangerine/svg/upper_A.tsx +22 -0
- package/fonts/tangerine/svg/upper_B.svg +17 -0
- package/fonts/tangerine/svg/upper_B.tsx +19 -0
- package/fonts/tangerine/svg/upper_C.svg +7 -0
- package/fonts/tangerine/svg/upper_C.tsx +9 -0
- package/fonts/tangerine/svg/upper_D.svg +12 -0
- package/fonts/tangerine/svg/upper_D.tsx +14 -0
- package/fonts/tangerine/svg/upper_E.svg +7 -0
- package/fonts/tangerine/svg/upper_E.tsx +9 -0
- package/fonts/tangerine/svg/upper_F.svg +17 -0
- package/fonts/tangerine/svg/upper_F.tsx +19 -0
- package/fonts/tangerine/svg/upper_G.svg +12 -0
- package/fonts/tangerine/svg/upper_G.tsx +14 -0
- package/fonts/tangerine/svg/upper_H.svg +12 -0
- package/fonts/tangerine/svg/upper_H.tsx +14 -0
- package/fonts/tangerine/svg/upper_I.svg +7 -0
- package/fonts/tangerine/svg/upper_I.tsx +9 -0
- package/fonts/tangerine/svg/upper_J.svg +7 -0
- package/fonts/tangerine/svg/upper_J.tsx +9 -0
- package/fonts/tangerine/svg/upper_K.svg +17 -0
- package/fonts/tangerine/svg/upper_K.tsx +19 -0
- package/fonts/tangerine/svg/upper_L.svg +7 -0
- package/fonts/tangerine/svg/upper_L.tsx +9 -0
- package/fonts/tangerine/svg/upper_M.svg +12 -0
- package/fonts/tangerine/svg/upper_M.tsx +14 -0
- package/fonts/tangerine/svg/upper_N.svg +15 -0
- package/fonts/tangerine/svg/upper_N.tsx +17 -0
- package/fonts/tangerine/svg/upper_O.svg +7 -0
- package/fonts/tangerine/svg/upper_O.tsx +9 -0
- package/fonts/tangerine/svg/upper_P.svg +12 -0
- package/fonts/tangerine/svg/upper_P.tsx +14 -0
- package/fonts/tangerine/svg/upper_Q.svg +12 -0
- package/fonts/tangerine/svg/upper_Q.tsx +14 -0
- package/fonts/tangerine/svg/upper_R.svg +12 -0
- package/fonts/tangerine/svg/upper_R.tsx +14 -0
- package/fonts/tangerine/svg/upper_S.svg +7 -0
- package/fonts/tangerine/svg/upper_S.tsx +9 -0
- package/fonts/tangerine/svg/upper_T.svg +7 -0
- package/fonts/tangerine/svg/upper_T.tsx +9 -0
- package/fonts/tangerine/svg/upper_U.svg +12 -0
- package/fonts/tangerine/svg/upper_U.tsx +14 -0
- package/fonts/tangerine/svg/upper_V.svg +12 -0
- package/fonts/tangerine/svg/upper_V.tsx +14 -0
- package/fonts/tangerine/svg/upper_W.svg +17 -0
- package/fonts/tangerine/svg/upper_W.tsx +19 -0
- package/fonts/tangerine/svg/upper_X.svg +12 -0
- package/fonts/tangerine/svg/upper_X.tsx +14 -0
- package/fonts/tangerine/svg/upper_Y.svg +12 -0
- package/fonts/tangerine/svg/upper_Y.tsx +14 -0
- package/fonts/tangerine/svg/upper_Z.svg +17 -0
- package/fonts/tangerine/svg/upper_Z.tsx +19 -0
- package/fonts/tangerine/svg/v.svg +12 -0
- package/fonts/tangerine/svg/v.tsx +14 -0
- package/fonts/tangerine/svg/w.svg +25 -0
- package/fonts/tangerine/svg/w.tsx +27 -0
- package/fonts/tangerine/svg/x.svg +17 -0
- package/fonts/tangerine/svg/x.tsx +19 -0
- package/fonts/tangerine/svg/y.svg +12 -0
- package/fonts/tangerine/svg/y.tsx +14 -0
- package/fonts/tangerine/svg/z.svg +20 -0
- package/fonts/tangerine/svg/z.tsx +22 -0
- package/fonts/tangerine/tangerine.ttf +0 -0
- package/package.json +64 -6
- package/src/env.d.ts +10 -0
- package/src/index.ts +10 -0
- package/src/lib/TegakiRenderer.tsx +589 -0
- package/src/lib/drawFallbackGlyph.ts +70 -0
- package/src/lib/drawGlyph.ts +374 -0
- package/src/lib/effects.ts +56 -0
- package/src/lib/textLayout.ts +114 -0
- package/src/lib/timeline.ts +65 -0
- package/src/lib/utils.ts +22 -0
- package/src/types.test.ts +92 -0
- package/src/types.ts +114 -0
- package/index.js +0 -1
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { describe, test } from 'bun:test';
|
|
2
|
+
import type { TegakiEffects } from './types.ts';
|
|
3
|
+
|
|
4
|
+
function assertType<const E extends TegakiEffects<E>>(_value: E) {}
|
|
5
|
+
|
|
6
|
+
describe.skip('TegakiEffects', () => {
|
|
7
|
+
test('known key with config', () => {
|
|
8
|
+
assertType({ glow: { radius: 5 } });
|
|
9
|
+
assertType({ wobble: { amplitude: 2, frequency: 3 } });
|
|
10
|
+
assertType({ gradient: { colors: ['#ff0000', '#00ff00'] } });
|
|
11
|
+
assertType({ gradient: { colors: 'rainbow', saturation: 80 } });
|
|
12
|
+
assertType({ taper: { startLength: 0.2, endLength: 0.1 } });
|
|
13
|
+
assertType({ pressureWidth: {} });
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
test('known key with boolean shorthand', () => {
|
|
17
|
+
assertType({ glow: true });
|
|
18
|
+
assertType({ wobble: true });
|
|
19
|
+
assertType({ taper: true });
|
|
20
|
+
assertType({ gradient: true });
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
test('known key with explicit effect field', () => {
|
|
24
|
+
assertType({ glow: { effect: 'glow', radius: 10 } });
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
test('known key with order', () => {
|
|
28
|
+
assertType({ glow: { radius: 5, order: 1 } });
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
test('custom key with explicit effect', () => {
|
|
32
|
+
assertType({ outerGlow: { effect: 'glow', radius: 20 } });
|
|
33
|
+
assertType({ innerGlow: { effect: 'glow', radius: 5, order: 1 } });
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
test('multiple effects combined', () => {
|
|
37
|
+
assertType({
|
|
38
|
+
glow: { radius: 20 },
|
|
39
|
+
innerGlow: { effect: 'glow', radius: 5, order: 1 },
|
|
40
|
+
wobble: true,
|
|
41
|
+
gradient: { colors: 'rainbow' },
|
|
42
|
+
taper: { startLength: 0.2 },
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
test('glow with offset (shadow)', () => {
|
|
47
|
+
assertType({ glow: { radius: 8, offsetX: 2, offsetY: 2, color: '#000000' } });
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
test('wobble with noise mode', () => {
|
|
51
|
+
assertType({ wobble: { amplitude: 2, mode: 'noise' } });
|
|
52
|
+
assertType({ wobble: { amplitude: 2, mode: 'sine' } });
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
test('custom key without effect field is rejected', () => {
|
|
56
|
+
// @ts-expect-error — unknown key must have explicit `effect`
|
|
57
|
+
assertType({ myGlow: { radius: 5 } });
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
test('wrong params for effect are rejected', () => {
|
|
61
|
+
// @ts-expect-error — amplitude is not a glow param
|
|
62
|
+
assertType({ glow: { amplitude: 5 } });
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
test('known key with wrong effect name is rejected', () => {
|
|
66
|
+
// @ts-expect-error — glow key cannot have effect: 'wobble'
|
|
67
|
+
assertType({ glow: { effect: 'wobble' } });
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
test('invalid effect name is rejected', () => {
|
|
71
|
+
// @ts-expect-error — 'sparkle' is not a valid effect
|
|
72
|
+
assertType({ myEffect: { effect: 'sparkle' } });
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
test('singleton effect cannot be used with custom key', () => {
|
|
76
|
+
// @ts-expect-error — pressureWidth is singleton, cannot be duplicated via custom key
|
|
77
|
+
assertType({ myPressure: { effect: 'pressureWidth', strength: 0.5 } });
|
|
78
|
+
// @ts-expect-error — wobble is singleton, cannot be duplicated via custom key
|
|
79
|
+
assertType({ myWobble: { effect: 'wobble', amplitude: 2 } });
|
|
80
|
+
// @ts-expect-error — gradient is singleton, cannot be duplicated via custom key
|
|
81
|
+
assertType({ myGradient: { effect: 'gradient', colors: 'rainbow' } });
|
|
82
|
+
// @ts-expect-error — taper is singleton, cannot be duplicated via custom key
|
|
83
|
+
assertType({ myTaper: { effect: 'taper', startLength: 0.2 } });
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
test('singleton effect works with its own key', () => {
|
|
87
|
+
assertType({ pressureWidth: { strength: 0.5 } });
|
|
88
|
+
assertType({ pressureWidth: true });
|
|
89
|
+
assertType({ taper: { startLength: 0.2 } });
|
|
90
|
+
assertType({ gradient: { colors: 'rainbow' } });
|
|
91
|
+
});
|
|
92
|
+
});
|
package/src/types.ts
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
export type LineCap = 'round' | 'butt' | 'square';
|
|
2
|
+
|
|
3
|
+
export interface Point {
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface TimedPoint extends Point {
|
|
9
|
+
t: number;
|
|
10
|
+
width: number;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface BBox {
|
|
14
|
+
x1: number;
|
|
15
|
+
y1: number;
|
|
16
|
+
x2: number;
|
|
17
|
+
y2: number;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface Stroke {
|
|
21
|
+
points: TimedPoint[];
|
|
22
|
+
order: number;
|
|
23
|
+
length: number;
|
|
24
|
+
animationDuration: number;
|
|
25
|
+
delay: number;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface GlyphData {
|
|
29
|
+
char: string;
|
|
30
|
+
unicode: number;
|
|
31
|
+
advanceWidth: number;
|
|
32
|
+
boundingBox: BBox;
|
|
33
|
+
path: string;
|
|
34
|
+
skeleton: Point[][];
|
|
35
|
+
strokes: Stroke[];
|
|
36
|
+
totalLength: number;
|
|
37
|
+
totalAnimationDuration: number;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export interface FontOutput {
|
|
41
|
+
font: {
|
|
42
|
+
family: string;
|
|
43
|
+
style: string;
|
|
44
|
+
unitsPerEm: number;
|
|
45
|
+
ascender: number;
|
|
46
|
+
descender: number;
|
|
47
|
+
lineCap: LineCap;
|
|
48
|
+
};
|
|
49
|
+
glyphs: Record<string, GlyphData>;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export interface PathCommand {
|
|
53
|
+
type: 'M' | 'L' | 'Q' | 'C' | 'Z';
|
|
54
|
+
x: number;
|
|
55
|
+
y: number;
|
|
56
|
+
x1?: number;
|
|
57
|
+
y1?: number;
|
|
58
|
+
x2?: number;
|
|
59
|
+
y2?: number;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export interface TegakiGlyphData {
|
|
63
|
+
advanceWidth: number;
|
|
64
|
+
strokes: {
|
|
65
|
+
points: { x: number; y: number; t: number; width: number }[];
|
|
66
|
+
delay: number;
|
|
67
|
+
animationDuration: number;
|
|
68
|
+
}[];
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
type BaseEffectConfig = { enabled?: boolean };
|
|
72
|
+
|
|
73
|
+
/** A length value: plain number is pixels, string `"${number}em"` is relative to font size. */
|
|
74
|
+
export type CSSLength = number | `${number}em`;
|
|
75
|
+
|
|
76
|
+
export type TegakiEffectConfigs = {
|
|
77
|
+
glow: BaseEffectConfig & { radius?: CSSLength; color?: string; offsetX?: number; offsetY?: number };
|
|
78
|
+
wobble: BaseEffectConfig & { amplitude?: number; frequency?: number; mode?: 'sine' | 'noise' };
|
|
79
|
+
pressureWidth: BaseEffectConfig & { strength?: number };
|
|
80
|
+
taper: BaseEffectConfig & { startLength?: number; endLength?: number };
|
|
81
|
+
gradient: BaseEffectConfig & { colors?: string[] | 'rainbow'; saturation?: number; lightness?: number };
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
export type TegakiEffectName = keyof TegakiEffectConfigs;
|
|
85
|
+
|
|
86
|
+
/** Effects that can only appear once (cannot be used with custom keys). */
|
|
87
|
+
export type TegakiSingletonEffectName = 'pressureWidth' | 'wobble' | 'taper' | 'gradient';
|
|
88
|
+
|
|
89
|
+
/** Effects that can be duplicated with custom keys. */
|
|
90
|
+
export type TegakiMultiEffectName = Exclude<TegakiEffectName, TegakiSingletonEffectName>;
|
|
91
|
+
|
|
92
|
+
type TegakiCustomEffect = {
|
|
93
|
+
[K in TegakiMultiEffectName]: TegakiEffectConfigs[K] & { effect: K; order?: number };
|
|
94
|
+
}[TegakiMultiEffectName];
|
|
95
|
+
|
|
96
|
+
/** Validates an effects object: known keys infer `effect`, unknown keys require it (singleton effects excluded). */
|
|
97
|
+
export type TegakiEffects<T> = {
|
|
98
|
+
[K in keyof T]: K extends TegakiEffectName
|
|
99
|
+
? (TegakiEffectConfigs[K] & { effect?: K; order?: number }) | boolean
|
|
100
|
+
: TegakiCustomEffect | boolean;
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
export interface TegakiBundle {
|
|
104
|
+
family: string;
|
|
105
|
+
lineCap: LineCap;
|
|
106
|
+
fontUrl: string;
|
|
107
|
+
unitsPerEm: number;
|
|
108
|
+
ascender: number;
|
|
109
|
+
descender: number;
|
|
110
|
+
glyphs: Record<string, import('react').FC<import('react').SVGProps<SVGSVGElement>>>;
|
|
111
|
+
glyphData?: Record<string, TegakiGlyphData>;
|
|
112
|
+
glyphTimings: Record<string, number>;
|
|
113
|
+
registerFontFace: () => Promise<void>;
|
|
114
|
+
}
|
package/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
console.error("Package isn't ready yet. Please wait for the next release.");
|