video/ ayrı bir Remotion projesi; Docker imajı, ESLint ve tsc kapsamı dışında. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
import { loadFont as yerelFont } from "@remotion/fonts";
|
||
import { loadFont as bricolageYukle } from "@remotion/google-fonts/BricolageGrotesque";
|
||
import { loadFont as calSansYukle } from "@remotion/google-fonts/CalSans";
|
||
import { staticFile } from "remotion";
|
||
|
||
// Sitenin dört yazı tipinden üçü (DESIGN.md §3): Cal Sans başlık ve iri sayı,
|
||
// Clarity City gövde/buton, Bricolage vurgu. Geist Mono arayüzde yok.
|
||
const cal = calSansYukle("normal", {
|
||
weights: ["400"],
|
||
subsets: ["latin", "latin-ext"],
|
||
});
|
||
const bricolage = bricolageYukle("normal", {
|
||
weights: ["300", "400", "600", "700", "800"],
|
||
subsets: ["latin", "latin-ext"],
|
||
});
|
||
|
||
const CLARITY = "Clarity City";
|
||
for (const [dosya, agirlik] of [
|
||
["Regular", "400"],
|
||
["Medium", "500"],
|
||
["SemiBold", "600"],
|
||
["Bold", "700"],
|
||
["ExtraBold", "800"],
|
||
] as const) {
|
||
yerelFont({
|
||
family: CLARITY,
|
||
url: staticFile(`fonts/ClarityCity-${dosya}.woff2`),
|
||
weight: agirlik,
|
||
});
|
||
}
|
||
|
||
export const FONT = {
|
||
/** Cal Sans yalnız 400; site `font-bold` ile sentetik kalınlık kullanıyor,
|
||
* video da aynı görünsün diye başlıklarda fontWeight 700 verilir. */
|
||
baslik: cal.fontFamily,
|
||
govde: CLARITY,
|
||
vurgu: bricolage.fontFamily,
|
||
} as const;
|