🔰

Adobe FontsをTailwind CSS v4で使用する

に公開

scriptで読み込む

「webプロジェクトに追加」から使用フォントを追加して、発行されたものを使用

layout.tsx
export default function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode;
}>) {
  return (
    <html lang="ja">
+      <script>
+        {`
+          (function(d) {
+            var config = {
+              kitId: 'kitIdをここに',
+              scriptTimeout: 3000,
+              async: true
+            },
+            h=d.documentElement,t=setTimeout(function(){h.className=h.className.replace(/\bwf-loading\b/g,"")+" wf-inactive";},config.scriptTimeout),tk=d.createElement("script"),f=false,s=d.getElementsByTagName("script")[0],a;h.className+=" wf-loading";tk.src='https://use.typekit.net/'+config.kitId+'.js';tk.async=true;tk.onload=tk.onreadystatechange=function(){a=this.readyState;if(f||a&&a!="complete"&&a!="loaded")return;f=true;clearTimeout(t);try{Typekit.load(config)}catch(e){}};s.parentNode.insertBefore(tk,s)
+          })(document);
+        `}
+      </script>
      <body
        className={`${geistSans.variable} ${geistMono.variable} antialiased`}
      >
        {children}
      </body>
    </html>
  );
}

globals.cssに設定

v4からtailwind.configがなくなり、globals.css修正する

globals.css
@theme inline {
  --font-futura: 'Futura PT';
}

あとは使いたいところに

<h1 className="font-futura">hogehoge</h1>

他にもuseEffect使って使用も可能、ベストプラクティスがあれば教えてください🙇‍♂️

Discussion