```ts
export function fontClamp(size: number, smallest: number, largest: number): number {
    if (smallest > largest) {
        throw new Error("The smallest value cannot be greater than the largest.");
    }

    const clampedSize = Math.min(Math.max(smallest, size), largest);

    return clampedSize;
}
```