Files
afilmory/scripts/svg-text-renderer.ts
2025-06-05 13:27:09 +08:00

641 lines
61 KiB
TypeScript

// SVG 文本渲染器 - 基于真实 Helvetica 字体提取的字形
// 自动生成,请勿手动编辑
interface CharacterPath {
path: string
width: number
height: number
advanceWidth: number
}
const HELVETICA_CHARACTERS: Record<string, CharacterPath> = {
'0': {
path: 'M 30.4 101.2 L 30.4 101.2 Q 18.1 101.2 11.3 91.4 Q 4.4 81.6 4.4 64.7 L 4.4 64.7 Q 4.4 48.0 11.3 38.2 Q 18.2 28.4 30.4 28.4 Q 42.5 28.4 49.4 38.2 Q 56.3 47.9 56.3 64.7 L 56.3 64.7 Q 56.3 81.5 49.4 91.4 Q 42.6 101.2 30.4 101.2 Z M 17.7 85.8 Q 22.2 93.5 30.4 93.5 Q 38.5 93.5 43.0 85.8 Q 47.4 78.1 47.4 64.7 L 47.4 64.7 Q 47.4 51.6 42.9 43.8 Q 38.4 36.1 30.4 36.1 Q 22.3 36.1 17.8 43.8 Q 13.2 51.6 13.2 64.7 L 13.2 64.7 Q 13.2 78.1 17.7 85.8 Z',
width: 60.6,
height: 100,
advanceWidth: 60.6,
},
'1': {
path: 'M 30.9 99.6 Q 29.7 100.9 27.9 100.9 Q 26.0 100.9 24.8 99.6 Q 23.6 98.3 23.6 96.3 L 23.6 96.3 L 23.6 39.2 L 23.4 39.2 L 10.3 48.4 Q 8.8 49.4 7.3 49.4 L 7.3 49.4 Q 5.7 49.4 4.8 48.4 Q 3.8 47.4 3.8 45.8 L 3.8 45.8 Q 3.8 44.6 4.3 43.8 Q 4.9 42.9 6.3 41.9 L 6.3 41.9 L 21.3 31.1 Q 23.4 29.6 24.6 29.2 Q 25.7 28.7 27.2 28.7 L 27.2 28.7 Q 29.5 28.7 30.8 30.0 Q 32.1 31.3 32.1 33.6 L 32.1 33.6 L 32.1 96.3 Q 32.1 98.3 30.9 99.6 Z',
width: 44.3,
height: 100,
advanceWidth: 44.3,
},
'2': {
path: 'M 48.5 100.0 L 9.7 100.0 Q 7.8 100.0 6.6 99.0 Q 5.5 98.0 5.5 96.4 L 5.5 96.4 Q 5.5 95.0 5.9 94.1 Q 6.4 93.3 8.0 91.6 L 8.0 91.6 L 30.5 68.1 Q 37.6 60.6 39.9 56.8 Q 42.2 52.9 42.2 48.5 L 42.2 48.5 Q 42.2 43.1 38.5 39.6 Q 34.8 36.0 29.2 36.0 L 29.2 36.0 Q 23.4 36.0 19.5 39.0 Q 15.6 41.9 13.8 47.6 L 13.8 47.6 Q 12.8 50.6 9.9 50.6 L 9.9 50.6 Q 8.0 50.6 6.9 49.6 Q 5.8 48.5 5.8 46.7 L 5.8 46.7 Q 5.8 45.8 6.0 45.0 L 6.0 45.0 Q 6.3 42.1 8.0 39.3 Q 9.7 36.5 12.5 34.0 Q 15.3 31.5 19.7 29.9 Q 24.0 28.4 29.2 28.4 L 29.2 28.4 Q 38.7 28.4 44.8 33.9 Q 51.0 39.4 51.0 47.9 L 51.0 47.9 Q 51.0 53.7 47.8 59.1 Q 44.5 64.6 35.4 73.8 L 35.4 73.8 L 17.8 92.0 L 17.8 92.2 L 48.5 92.2 Q 50.4 92.2 51.5 93.3 Q 52.7 94.3 52.7 96.1 Q 52.7 97.9 51.5 98.9 Q 50.4 100.0 48.5 100.0 L 48.5 100.0 Z',
width: 56.6,
height: 100,
advanceWidth: 56.6,
},
'3': {
path: 'M 29.4 101.2 L 29.4 101.2 Q 13.5 101.2 7.1 90.2 L 7.1 90.2 Q 5.5 87.4 5.5 84.6 L 5.5 84.6 Q 5.5 82.7 6.5 81.6 Q 7.6 80.5 9.5 80.5 L 9.5 80.5 Q 11.0 80.5 11.9 81.3 Q 12.8 82.1 13.6 83.9 L 13.6 83.9 Q 17.3 93.6 29.4 93.6 L 29.4 93.6 Q 36.4 93.6 40.6 90.0 Q 44.9 86.5 45.0 80.9 L 45.0 80.9 Q 45.0 74.5 40.7 70.9 Q 36.4 67.3 28.9 67.3 L 28.9 67.3 L 23.3 67.3 Q 21.5 67.3 20.4 66.3 Q 19.3 65.3 19.3 63.6 Q 19.3 62.0 20.4 60.9 Q 21.5 59.9 23.3 59.9 L 23.3 59.9 L 28.5 59.9 Q 34.8 59.9 38.8 56.5 Q 42.8 53.0 42.8 47.7 L 42.8 47.7 Q 42.8 42.3 39.4 39.1 Q 35.9 36.0 29.3 36.0 L 29.3 36.0 Q 23.6 36.0 20.2 38.4 Q 16.7 40.7 14.8 45.7 L 14.8 45.7 Q 14.1 47.6 13.3 48.4 Q 12.5 49.1 10.8 49.1 L 10.8 49.1 Q 9.0 49.1 8.0 48.1 Q 6.9 47.0 6.9 45.1 L 6.9 45.1 Q 6.9 42.2 8.4 39.5 L 8.4 39.5 Q 11.2 34.1 16.6 31.3 Q 22.1 28.4 29.3 28.4 L 29.3 28.4 Q 39.6 28.4 45.6 33.5 Q 51.6 38.7 51.6 46.5 L 51.6 46.5 Q 51.6 52.9 47.5 57.3 Q 43.5 61.7 36.7 63.1 L 36.7 63.1 L 36.7 63.3 Q 44.5 64.0 49.2 68.6 Q 53.9 73.2 53.9 80.6 L 53.9 80.6 Q 53.9 89.6 46.9 95.4 Q 39.9 101.2 29.4 101.2 Z',
width: 59.2,
height: 100,
advanceWidth: 59.2,
},
'4': {
path: 'M 46.5 99.6 Q 45.3 100.9 43.5 100.9 Q 41.6 100.9 40.4 99.6 Q 39.2 98.3 39.2 96.3 L 39.2 96.3 L 39.2 85.4 L 8.7 85.4 Q 6.3 85.4 5.0 84.0 Q 3.6 82.7 3.6 80.4 L 3.6 80.4 Q 3.6 78.7 4.1 77.3 Q 4.5 75.9 5.7 73.7 L 5.7 73.7 Q 12.0 62.5 30.4 36.1 L 30.4 36.1 Q 33.4 31.8 35.5 30.2 Q 37.6 28.7 40.5 28.7 L 40.5 28.7 Q 44.0 28.7 45.9 30.4 Q 47.7 32.2 47.7 35.6 L 47.7 35.6 L 47.7 77.6 L 54.2 77.6 Q 56.0 77.6 57.1 78.7 Q 58.3 79.8 58.3 81.5 Q 58.3 83.2 57.1 84.3 Q 56.0 85.4 54.2 85.4 L 54.2 85.4 L 47.7 85.4 L 47.7 96.3 Q 47.7 98.3 46.5 99.6 Z M 12.4 77.6 L 39.2 77.6 L 39.2 37.2 L 39.1 37.2 Q 19.0 65.8 12.4 77.4 L 12.4 77.4 L 12.4 77.6 Z',
width: 60.4,
height: 100,
advanceWidth: 60.4,
},
'5': {
path: 'M 29.9 101.2 L 29.9 101.2 Q 22.2 101.2 16.2 97.6 Q 10.1 94.0 7.6 88.1 L 7.6 88.1 Q 6.6 85.6 6.6 83.4 L 6.6 83.4 Q 6.6 81.5 7.7 80.4 Q 8.8 79.3 10.7 79.3 L 10.7 79.3 Q 12.3 79.3 13.3 80.1 Q 14.2 80.9 14.8 82.8 L 14.8 82.8 Q 16.4 87.9 20.4 90.7 Q 24.4 93.5 30.1 93.5 L 30.1 93.5 Q 37.3 93.5 41.7 88.9 Q 46.2 84.4 46.2 77.2 L 46.2 77.2 Q 46.2 70.3 41.7 65.8 Q 37.2 61.3 30.1 61.3 L 30.1 61.3 Q 26.5 61.3 23.2 62.6 Q 20.0 63.9 17.8 66.3 L 17.8 66.3 Q 15.5 68.8 14.5 69.4 Q 13.4 70.0 11.8 70.0 L 11.8 70.0 Q 9.8 70.0 8.6 68.7 Q 7.5 67.4 7.5 65.5 L 7.5 65.5 Q 7.5 64.8 7.6 64.4 L 7.6 64.4 L 10.1 36.4 Q 10.4 32.7 12.2 31.1 Q 14.1 29.5 18.0 29.5 L 18.0 29.5 L 47.4 29.5 Q 49.3 29.5 50.4 30.6 Q 51.6 31.7 51.6 33.4 Q 51.6 35.2 50.4 36.3 Q 49.3 37.4 47.4 37.4 L 47.4 37.4 L 17.9 37.4 L 15.7 60.5 L 15.9 60.5 Q 18.3 57.3 22.4 55.5 Q 26.6 53.8 31.7 53.8 L 31.7 53.8 Q 41.9 53.8 48.5 60.3 Q 55.0 66.8 55.0 77.0 L 55.0 77.0 Q 55.0 87.6 48.0 94.4 Q 41.0 101.2 29.9 101.2 Z',
width: 58.5,
height: 100,
advanceWidth: 58.5,
},
'6': {
path: 'M 31.2 101.2 L 31.2 101.2 Q 23.3 101.2 17.2 97.1 Q 11.2 93.0 7.9 85.4 L 7.9 85.4 Q 4.4 77.3 4.4 66.0 L 4.4 66.0 Q 4.4 48.1 11.6 38.2 Q 18.8 28.3 31.8 28.3 L 31.8 28.3 Q 38.6 28.3 44.1 31.3 Q 49.7 34.2 52.6 39.4 L 52.6 39.4 Q 53.9 41.6 53.9 43.6 L 53.9 43.6 Q 53.9 45.2 52.8 46.3 Q 51.6 47.3 49.9 47.3 L 49.9 47.3 Q 48.5 47.3 47.5 46.5 Q 46.5 45.8 45.3 43.9 L 45.3 43.9 Q 40.4 36.1 31.7 36.1 Q 23.0 36.1 18.1 43.5 Q 13.3 50.9 12.9 64.6 L 12.9 64.6 L 12.9 65.3 L 13.1 65.3 Q 15.3 60.3 20.6 57.1 Q 25.8 53.9 32.8 53.9 L 32.8 53.9 Q 42.8 53.9 49.5 60.5 Q 56.2 67.1 56.2 77.1 L 56.2 77.1 Q 56.2 87.6 49.1 94.4 Q 42.0 101.2 31.2 101.2 Z M 19.7 88.7 Q 24.4 93.4 31.1 93.4 Q 37.8 93.4 42.5 88.8 Q 47.2 84.1 47.2 77.4 L 47.2 77.4 Q 47.2 70.5 42.7 66.0 Q 38.2 61.6 31.3 61.6 Q 24.3 61.6 19.7 66.0 Q 15.0 70.5 15.0 77.2 L 15.0 77.2 Q 15.0 84.0 19.7 88.7 Z',
width: 59.9,
height: 100,
advanceWidth: 59.9,
},
'7': {
path: 'M 15.4 100.9 L 15.4 100.9 Q 13.6 100.9 12.5 99.9 Q 11.3 98.9 11.3 97.3 L 11.3 97.3 Q 11.3 95.9 12.1 94.4 L 12.1 94.4 L 41.7 37.5 L 41.7 37.4 L 7.5 37.4 Q 5.7 37.4 4.5 36.3 Q 3.3 35.2 3.3 33.4 Q 3.3 31.7 4.5 30.6 Q 5.7 29.5 7.5 29.5 L 7.5 29.5 L 45.4 29.5 Q 48.0 29.5 49.4 30.9 Q 50.9 32.3 50.9 34.9 L 50.9 34.9 Q 50.9 36.7 49.0 40.5 L 49.0 40.5 L 19.3 98.3 Q 18.0 100.9 15.4 100.9 Z',
width: 54.7,
height: 100,
advanceWidth: 54.7,
},
'8': {
path: 'M 29.9 101.2 L 29.9 101.2 Q 18.8 101.2 11.6 95.5 Q 4.4 89.8 4.4 81.0 L 4.4 81.0 Q 4.4 74.4 8.5 69.4 Q 12.7 64.4 19.5 62.8 L 19.5 62.8 L 19.5 62.6 Q 13.7 60.8 10.3 56.6 Q 6.9 52.4 6.9 46.9 L 6.9 46.9 Q 6.9 38.9 13.5 33.6 Q 20.0 28.4 29.9 28.4 L 29.9 28.4 Q 39.9 28.4 46.4 33.6 Q 52.9 38.9 52.9 46.9 L 52.9 46.9 Q 52.9 52.4 49.5 56.6 Q 46.2 60.8 40.3 62.6 L 40.3 62.6 L 40.3 62.8 Q 47.2 64.5 51.3 69.4 Q 55.5 74.4 55.5 81.0 L 55.5 81.0 Q 55.5 89.8 48.3 95.5 Q 41.2 101.2 29.9 101.2 Z M 29.9 59.4 L 29.9 59.4 Q 36.2 59.4 40.2 56.1 Q 44.2 52.8 44.2 47.7 L 44.2 47.7 Q 44.2 42.5 40.2 39.2 Q 36.2 35.9 29.9 35.9 Q 23.6 35.9 19.7 39.2 Q 15.7 42.5 15.7 47.7 L 15.7 47.7 Q 15.7 52.8 19.7 56.1 Q 23.6 59.4 29.9 59.4 Z M 29.9 93.5 L 29.9 93.5 Q 37.2 93.5 41.9 89.8 Q 46.5 86.1 46.5 80.3 L 46.5 80.3 Q 46.5 74.5 41.9 70.8 Q 37.2 67.1 29.9 67.1 Q 22.7 67.1 18.0 70.8 Q 13.3 74.6 13.3 80.3 Q 13.3 86.1 18.0 89.8 Q 22.7 93.5 29.9 93.5 Z',
width: 59.9,
height: 100,
advanceWidth: 59.9,
},
'9': {
path: 'M 28.1 101.2 L 28.1 101.2 Q 24.1 101.2 20.5 100.2 Q 16.9 99.2 14.3 97.5 Q 11.6 95.8 9.8 93.9 Q 7.9 91.9 6.8 89.9 L 6.8 89.9 Q 5.6 87.7 5.6 85.9 L 5.6 85.9 Q 5.6 84.2 6.7 83.2 Q 7.8 82.2 9.6 82.2 L 9.6 82.2 Q 11.0 82.2 12.0 82.9 Q 13.0 83.7 14.2 85.6 L 14.2 85.6 Q 16.8 89.7 20.0 91.6 Q 23.2 93.5 28.2 93.5 L 28.2 93.5 Q 37.0 93.5 41.8 86.1 Q 46.6 78.7 46.9 65.0 L 46.9 65.0 L 46.9 64.2 L 46.8 64.2 Q 44.5 69.4 39.2 72.5 Q 33.8 75.7 27.1 75.7 L 27.1 75.7 Q 17.0 75.7 10.4 69.0 Q 3.7 62.4 3.7 52.4 L 3.7 52.4 Q 3.7 41.9 10.8 35.1 Q 17.8 28.3 28.7 28.3 L 28.7 28.3 Q 36.6 28.3 42.7 32.4 Q 48.7 36.6 52.0 44.1 L 52.0 44.1 Q 55.4 52.1 55.4 63.6 L 55.4 63.6 Q 55.4 81.4 48.2 91.3 Q 41.1 101.2 28.1 101.2 Z M 28.6 68.0 L 28.6 68.0 Q 35.6 68.0 40.2 63.5 Q 44.9 59.1 44.9 52.3 L 44.9 52.3 Q 44.9 45.6 40.2 40.9 Q 35.5 36.2 28.8 36.2 Q 22.0 36.2 17.3 40.8 Q 12.6 45.5 12.6 52.1 L 12.6 52.1 Q 12.6 59.0 17.1 63.5 Q 21.7 68.0 28.6 68.0 Z',
width: 59.9,
height: 100,
advanceWidth: 59.9,
},
A: {
path: 'M 7.1 100.7 L 7.1 100.7 Q 5.2 100.7 3.9 99.6 Q 2.7 98.5 2.7 96.8 L 2.7 96.8 Q 2.7 95.8 3.2 94.4 L 3.2 94.4 L 25.9 33.1 Q 27.4 28.9 31.6 28.9 L 31.6 28.9 Q 35.6 28.9 37.2 33.1 L 37.2 33.1 L 59.9 94.4 Q 60.4 95.8 60.4 96.8 L 60.4 96.8 Q 60.4 98.5 59.2 99.6 Q 57.9 100.7 56.0 100.7 L 56.0 100.7 Q 52.9 100.7 51.7 97.3 L 51.7 97.3 L 45.5 79.8 L 17.6 79.8 L 11.4 97.3 Q 10.2 100.7 7.1 100.7 Z M 31.4 40.2 L 20.1 72.4 L 43.0 72.4 L 31.7 40.2 L 31.4 40.2 Z',
width: 63.1,
height: 100,
advanceWidth: 63.1,
},
B: {
path: 'M 33.4 100.0 L 11.2 100.0 Q 9.2 100.0 8.0 98.8 Q 6.8 97.6 6.8 95.5 L 6.8 95.5 L 6.8 34.1 Q 6.8 32.0 8.0 30.8 Q 9.2 29.5 11.2 29.5 L 11.2 29.5 L 33.5 29.5 Q 42.6 29.5 48.2 34.4 Q 53.8 39.2 53.8 47.1 L 53.8 47.1 Q 53.8 52.6 50.2 57.1 Q 46.7 61.6 41.6 62.5 L 41.6 62.5 L 41.6 62.9 Q 48.8 63.8 53.1 68.5 Q 57.3 73.2 57.3 80.2 L 57.3 80.2 Q 57.3 89.6 51.0 94.8 Q 44.7 100.0 33.4 100.0 L 33.4 100.0 Z M 15.6 37.3 L 15.6 59.9 L 28.8 59.9 Q 36.6 59.9 40.7 56.9 Q 44.9 53.9 44.9 48.1 L 44.9 48.1 Q 44.9 42.9 41.4 40.1 Q 37.9 37.3 31.5 37.3 L 31.5 37.3 L 15.6 37.3 Z M 15.6 67.5 L 15.6 92.2 L 32.1 92.2 Q 40.1 92.2 44.2 89.1 Q 48.3 85.9 48.3 79.8 L 48.3 79.8 Q 48.3 67.5 31.3 67.5 L 31.3 67.5 L 15.6 67.5 Z',
width: 60.4,
height: 100,
advanceWidth: 60.4,
},
C: {
path: 'M 35.8 101.2 L 35.8 101.2 Q 21.2 101.2 12.7 91.3 Q 4.1 81.5 4.1 64.7 L 4.1 64.7 Q 4.1 48.1 12.7 38.3 Q 21.4 28.4 35.8 28.4 L 35.8 28.4 Q 45.5 28.4 52.8 33.0 Q 60.2 37.5 63.3 45.5 L 63.3 45.5 Q 64.0 47.3 64.0 48.9 L 64.0 48.9 Q 64.0 50.7 62.9 51.8 Q 61.9 52.9 60.1 52.9 L 60.1 52.9 Q 56.8 52.9 55.4 49.3 L 55.4 49.3 Q 53.0 43.2 47.7 39.8 Q 42.5 36.5 35.8 36.5 L 35.8 36.5 Q 25.5 36.5 19.3 44.2 Q 13.1 51.9 13.1 64.7 L 13.1 64.7 Q 13.1 77.7 19.3 85.4 Q 25.4 93.1 35.9 93.1 L 35.9 93.1 Q 42.9 93.1 48.0 90.1 Q 53.2 87.1 55.6 81.3 L 55.6 81.3 Q 56.9 78.2 59.7 78.2 L 59.7 78.2 Q 61.5 78.2 62.6 79.3 Q 63.7 80.5 63.7 82.2 L 63.7 82.2 Q 63.7 84.2 62.5 86.6 L 62.5 86.6 Q 59.0 93.7 52.2 97.4 Q 45.4 101.2 35.8 101.2 Z',
width: 68.6,
height: 100,
advanceWidth: 68.6,
},
D: {
path: 'M 30.5 100.0 L 11.2 100.0 Q 9.2 100.0 8.0 98.8 Q 6.8 97.6 6.8 95.5 L 6.8 95.5 L 6.8 34.1 Q 6.8 32.0 8.0 30.8 Q 9.2 29.5 11.2 29.5 L 11.2 29.5 L 30.5 29.5 Q 46.2 29.5 55.0 38.8 Q 63.8 48.1 63.8 64.7 L 63.8 64.7 Q 63.8 81.4 55.0 90.7 Q 46.2 100.0 30.5 100.0 L 30.5 100.0 Z M 15.6 37.5 L 15.6 92.1 L 29.9 92.1 Q 41.9 92.1 48.3 85.0 Q 54.8 78.0 54.8 64.8 L 54.8 64.8 Q 54.8 51.6 48.4 44.5 Q 41.9 37.5 29.9 37.5 L 29.9 37.5 L 15.6 37.5 Z',
width: 67.8,
height: 100,
advanceWidth: 67.8,
},
E: {
path: 'M 47.0 100.0 L 11.2 100.0 Q 9.2 100.0 8.0 98.8 Q 6.8 97.6 6.8 95.5 L 6.8 95.5 L 6.8 34.1 Q 6.8 32.0 8.0 30.8 Q 9.2 29.5 11.2 29.5 L 11.2 29.5 L 47.0 29.5 Q 48.9 29.5 50.0 30.6 Q 51.2 31.7 51.2 33.5 Q 51.2 35.3 50.0 36.4 Q 48.9 37.5 47.0 37.5 L 47.0 37.5 L 15.6 37.5 L 15.6 60.1 L 45.3 60.1 Q 47.1 60.1 48.3 61.1 Q 49.4 62.2 49.4 64.0 L 49.4 64.0 Q 49.4 65.7 48.2 66.8 Q 47.1 67.9 45.3 67.9 L 45.3 67.9 L 15.6 67.9 L 15.6 92.1 L 47.0 92.1 Q 48.9 92.1 50.0 93.2 Q 51.2 94.3 51.2 96.0 Q 51.2 97.8 50.0 98.9 Q 48.9 100.0 47.0 100.0 L 47.0 100.0 Z',
width: 55.2,
height: 100,
advanceWidth: 55.2,
},
F: {
path: 'M 14.4 99.5 Q 13.2 100.7 11.2 100.7 Q 9.2 100.7 8.0 99.5 Q 6.8 98.2 6.8 96.1 L 6.8 96.1 L 6.8 34.1 Q 6.8 32.0 8.0 30.8 Q 9.2 29.5 11.2 29.5 L 11.2 29.5 L 46.1 29.5 Q 48.0 29.5 49.2 30.6 Q 50.3 31.7 50.3 33.5 Q 50.3 35.3 49.2 36.4 Q 48.0 37.5 46.1 37.5 L 46.1 37.5 L 15.6 37.5 L 15.6 61.7 L 43.4 61.7 Q 45.3 61.7 46.4 62.7 Q 47.6 63.8 47.6 65.6 Q 47.6 67.3 46.4 68.4 Q 45.3 69.5 43.4 69.5 L 43.4 69.5 L 15.6 69.5 L 15.6 96.1 Q 15.6 98.2 14.4 99.5 Z',
width: 52.8,
height: 100,
advanceWidth: 52.8,
},
G: {
path: 'M 36.4 101.2 L 36.4 101.2 Q 21.6 101.2 12.9 91.2 Q 4.1 81.2 4.1 64.4 L 4.1 64.4 Q 4.1 47.9 12.8 38.1 Q 21.6 28.4 36.4 28.4 L 36.4 28.4 Q 45.9 28.4 53.3 32.9 Q 60.7 37.4 63.6 44.9 L 63.6 44.9 Q 64.3 46.6 64.3 48.6 L 64.3 48.6 Q 64.3 50.4 63.2 51.5 Q 62.1 52.6 60.3 52.6 L 60.3 52.6 Q 58.7 52.6 57.6 51.7 Q 56.5 50.9 55.7 48.9 L 55.7 48.9 Q 53.0 42.8 48.0 39.6 Q 43.1 36.5 36.4 36.5 L 36.4 36.5 Q 25.5 36.5 19.3 43.9 Q 13.1 51.3 13.1 64.4 L 13.1 64.4 Q 13.1 77.6 19.4 85.4 Q 25.6 93.1 36.4 93.1 L 36.4 93.1 Q 45.8 93.1 51.6 87.5 Q 57.5 82.0 57.5 73.1 L 57.5 73.1 L 57.5 71.9 L 41.1 71.9 Q 39.2 71.9 38.0 70.8 Q 36.9 69.7 36.9 68.0 Q 36.9 66.3 38.0 65.2 Q 39.2 64.2 41.1 64.2 L 41.1 64.2 L 61.9 64.2 Q 63.9 64.2 65.1 65.4 Q 66.3 66.6 66.3 68.7 L 66.3 68.7 L 66.3 70.8 Q 66.3 85.2 58.4 93.2 Q 50.5 101.2 36.4 101.2 Z',
width: 70.7,
height: 100,
advanceWidth: 70.7,
},
H: {
path: 'M 14.4 99.5 Q 13.2 100.7 11.2 100.7 Q 9.2 100.7 8.0 99.5 Q 6.8 98.2 6.8 96.1 L 6.8 96.1 L 6.8 33.4 Q 6.8 31.3 8.0 30.1 Q 9.2 28.9 11.2 28.9 Q 13.2 28.9 14.4 30.1 Q 15.6 31.3 15.6 33.4 L 15.6 33.4 L 15.6 60.0 L 54.3 60.0 L 54.3 33.4 Q 54.3 31.3 55.5 30.1 Q 56.7 28.9 58.7 28.9 Q 60.7 28.9 61.9 30.1 Q 63.1 31.3 63.1 33.4 L 63.1 33.4 L 63.1 96.1 Q 63.1 98.2 61.9 99.5 Q 60.7 100.7 58.7 100.7 Q 56.7 100.7 55.5 99.5 Q 54.3 98.2 54.3 96.1 L 54.3 96.1 L 54.3 67.9 L 15.6 67.9 L 15.6 96.1 Q 15.6 98.2 14.4 99.5 Z',
width: 69.9,
height: 100,
advanceWidth: 69.9,
},
I: {
path: 'M 14.4 99.5 Q 13.2 100.7 11.2 100.7 Q 9.2 100.7 8.0 99.5 Q 6.8 98.2 6.8 96.1 L 6.8 96.1 L 6.8 33.4 Q 6.8 31.3 8.0 30.1 Q 9.2 28.9 11.2 28.9 Q 13.2 28.9 14.4 30.1 Q 15.6 31.3 15.6 33.4 L 15.6 33.4 L 15.6 96.1 Q 15.6 98.2 14.4 99.5 Z',
width: 22.5,
height: 100,
advanceWidth: 22.5,
},
J: {
path: 'M 22.0 101.2 L 22.0 101.2 Q 15.2 101.2 10.1 97.9 Q 4.9 94.6 3.0 89.1 L 3.0 89.1 Q 2.1 86.5 2.1 84.4 Q 2.1 82.3 3.2 81.1 Q 4.3 79.9 6.3 79.9 L 6.3 79.9 Q 9.5 79.9 10.6 83.9 L 10.6 83.9 Q 11.8 88.3 14.7 90.7 Q 17.7 93.1 21.9 93.1 L 21.9 93.1 Q 27.7 93.1 30.8 89.7 Q 33.9 86.3 33.9 79.8 L 33.9 79.8 L 33.9 33.4 Q 33.9 31.3 35.1 30.1 Q 36.3 28.9 38.3 28.9 Q 40.3 28.9 41.5 30.1 Q 42.7 31.3 42.7 33.4 L 42.7 33.4 L 42.7 79.9 Q 42.7 89.9 37.2 95.5 Q 31.7 101.2 22.0 101.2 Z',
width: 49.5,
height: 100,
advanceWidth: 49.5,
},
K: {
path: 'M 14.4 99.5 Q 13.2 100.7 11.2 100.7 Q 9.2 100.7 8.0 99.5 Q 6.8 98.2 6.8 96.1 L 6.8 96.1 L 6.8 33.4 Q 6.8 31.3 8.0 30.1 Q 9.2 28.9 11.2 28.9 Q 13.2 28.9 14.4 30.1 Q 15.6 31.3 15.6 33.4 L 15.6 33.4 L 15.6 63.9 L 16.1 63.9 L 47.5 30.5 Q 49.1 28.8 51.0 28.8 L 51.0 28.8 Q 52.7 28.8 53.9 30.0 Q 55.0 31.1 55.0 32.8 L 55.0 32.8 Q 55.0 34.4 53.9 35.6 L 53.9 35.6 L 29.6 60.7 L 56.6 93.3 Q 57.9 94.8 57.9 96.5 L 57.9 96.5 Q 57.9 98.3 56.6 99.5 Q 55.4 100.7 53.6 100.7 L 53.6 100.7 Q 51.4 100.7 49.7 98.6 L 49.7 98.6 L 23.5 67.0 L 15.6 75.4 L 15.6 96.1 Q 15.6 98.2 14.4 99.5 Z',
width: 61.5,
height: 100,
advanceWidth: 61.5,
},
L: {
path: 'M 46.1 100.0 L 11.2 100.0 Q 9.2 100.0 8.0 98.8 Q 6.8 97.6 6.8 95.5 L 6.8 95.5 L 6.8 33.4 Q 6.8 31.3 8.0 30.1 Q 9.2 28.9 11.2 28.9 Q 13.2 28.9 14.4 30.1 Q 15.6 31.3 15.6 33.4 L 15.6 33.4 L 15.6 92.1 L 46.1 92.1 Q 48.0 92.1 49.2 93.2 Q 50.3 94.3 50.3 96.0 Q 50.3 97.8 49.2 98.9 Q 48.0 100.0 46.1 100.0 L 46.1 100.0 Z',
width: 52.4,
height: 100,
advanceWidth: 52.4,
},
M: {
path: 'M 13.9 99.5 Q 12.8 100.7 10.9 100.7 Q 9.0 100.7 7.9 99.5 Q 6.8 98.4 6.8 96.4 L 6.8 96.4 L 6.8 34.3 Q 6.8 31.9 8.4 30.4 Q 9.9 28.9 12.5 28.9 L 12.5 28.9 Q 14.7 28.9 16.1 30.0 Q 17.6 31.1 18.6 33.5 L 18.6 33.5 L 41.4 88.3 L 41.7 88.3 L 64.5 33.5 Q 65.5 31.1 67.0 30.0 Q 68.5 28.9 70.8 28.9 L 70.8 28.9 Q 73.2 28.9 74.8 30.3 Q 76.3 31.8 76.3 34.3 L 76.3 34.3 L 76.3 96.4 Q 76.3 98.4 75.2 99.5 Q 74.1 100.7 72.2 100.7 Q 70.3 100.7 69.2 99.5 Q 68.1 98.4 68.1 96.4 L 68.1 96.4 L 68.1 45.7 L 67.7 45.7 L 46.8 95.7 Q 45.2 99.5 41.6 99.5 L 41.6 99.5 Q 37.8 99.5 36.3 95.8 L 36.3 95.8 L 15.4 45.7 L 15.0 45.7 L 15.0 96.4 Q 15.0 98.4 13.9 99.5 Z',
width: 83.1,
height: 100,
advanceWidth: 83.1,
},
N: {
path: 'M 14.4 99.5 Q 13.2 100.7 11.2 100.7 Q 9.2 100.7 8.0 99.5 Q 6.8 98.2 6.8 96.1 L 6.8 96.1 L 6.8 34.0 Q 6.8 31.7 8.2 30.3 Q 9.6 28.9 11.9 28.9 L 11.9 28.9 Q 13.6 28.9 14.7 29.5 Q 15.8 30.1 16.9 31.8 L 16.9 31.8 L 54.0 84.9 L 54.4 84.9 L 54.4 33.4 Q 54.4 31.3 55.6 30.1 Q 56.7 28.9 58.7 28.9 Q 60.7 28.9 61.9 30.1 Q 63.1 31.3 63.1 33.4 L 63.1 33.4 L 63.1 95.9 Q 63.1 98.1 61.8 99.4 Q 60.4 100.7 58.1 100.7 L 58.1 100.7 Q 56.3 100.7 55.2 100.1 Q 54.2 99.5 53.0 97.8 L 53.0 97.8 L 16.0 44.9 L 15.5 44.9 L 15.5 96.1 Q 15.5 98.2 14.4 99.5 Z',
width: 69.9,
height: 100,
advanceWidth: 69.9,
},
O: {
path: 'M 60.3 91.4 Q 51.6 101.2 36.6 101.2 Q 21.6 101.2 12.8 91.4 Q 4.1 81.6 4.1 64.8 Q 4.1 48.0 12.8 38.2 Q 21.6 28.4 36.6 28.4 Q 51.6 28.4 60.3 38.2 Q 69.0 48.0 69.0 64.8 Q 69.0 81.6 60.3 91.4 Z M 19.5 85.4 Q 25.8 93.1 36.6 93.1 Q 47.4 93.1 53.7 85.4 Q 60.0 77.8 60.0 64.8 L 60.0 64.8 Q 60.0 51.8 53.7 44.1 Q 47.4 36.5 36.6 36.5 Q 25.8 36.5 19.5 44.1 Q 13.1 51.8 13.1 64.8 L 13.1 64.8 Q 13.1 77.8 19.5 85.4 Z',
width: 73.1,
height: 100,
advanceWidth: 73.1,
},
P: {
path: 'M 14.4 99.5 Q 13.2 100.7 11.2 100.7 Q 9.2 100.7 8.0 99.5 Q 6.8 98.2 6.8 96.1 L 6.8 96.1 L 6.8 34.1 Q 6.8 32.0 8.0 30.8 Q 9.2 29.5 11.2 29.5 L 11.2 29.5 L 32.0 29.5 Q 41.9 29.5 48.2 35.9 Q 54.5 42.2 54.5 52.1 L 54.5 52.1 Q 54.5 62.2 48.2 68.5 Q 41.8 74.9 31.9 74.9 L 31.9 74.9 L 15.6 74.9 L 15.6 96.1 Q 15.6 98.2 14.4 99.5 Z M 15.6 37.4 L 15.6 67.0 L 29.7 67.0 Q 37.2 67.0 41.4 63.1 Q 45.5 59.2 45.5 52.1 Q 45.5 45.1 41.4 41.2 Q 37.3 37.4 29.7 37.4 L 29.7 37.4 L 15.6 37.4 Z',
width: 57.8,
height: 100,
advanceWidth: 57.8,
},
Q: {
path: 'M 36.6 101.2 L 36.6 101.2 Q 21.6 101.2 12.8 91.4 Q 4.1 81.6 4.1 64.8 Q 4.1 48.0 12.8 38.2 Q 21.6 28.4 36.6 28.4 Q 51.6 28.4 60.3 38.2 Q 69.0 48.0 69.0 64.8 L 69.0 64.8 Q 69.0 75.0 65.7 82.7 Q 62.4 90.5 56.3 95.1 L 56.3 95.1 L 61.6 102.5 Q 62.6 103.9 62.6 105.3 L 62.6 105.3 Q 62.6 106.9 61.5 108.0 Q 60.3 109.1 58.6 109.1 L 58.6 109.1 Q 56.5 109.1 55.2 107.2 L 55.2 107.2 L 49.2 99.0 Q 43.6 101.2 36.6 101.2 Z M 36.6 93.1 L 36.6 93.1 Q 40.5 93.1 44.0 91.9 L 44.0 91.9 L 39.2 85.3 Q 38.2 84.0 38.2 82.5 L 38.2 82.5 Q 38.2 80.9 39.4 79.8 Q 40.5 78.7 42.2 78.7 L 42.2 78.7 Q 43.4 78.7 44.1 79.1 Q 44.9 79.5 45.7 80.6 L 45.7 80.6 L 51.1 88.0 Q 55.4 84.4 57.7 78.5 Q 60.0 72.5 60.0 64.8 L 60.0 64.8 Q 60.0 51.8 53.7 44.1 Q 47.4 36.5 36.6 36.5 Q 25.8 36.5 19.5 44.1 Q 13.1 51.8 13.1 64.8 L 13.1 64.8 Q 13.1 77.8 19.5 85.4 Q 25.8 93.1 36.6 93.1 Z',
width: 73.1,
height: 100,
advanceWidth: 73.1,
},
R: {
path: 'M 14.4 99.6 Q 13.2 100.9 11.2 100.9 Q 9.2 100.9 8.0 99.6 Q 6.8 98.4 6.8 96.3 L 6.8 96.3 L 6.8 34.1 Q 6.8 32.0 8.0 30.8 Q 9.2 29.5 11.2 29.5 L 11.2 29.5 L 33.3 29.5 Q 43.5 29.5 49.6 35.3 Q 55.7 41.0 55.7 50.5 L 55.7 50.5 Q 55.7 57.9 52.0 63.3 Q 48.2 68.7 41.6 70.8 L 41.6 70.8 L 54.4 93.8 Q 55.4 95.4 55.4 96.8 L 55.4 96.8 Q 55.4 98.5 54.1 99.7 Q 52.8 100.9 50.9 100.9 L 50.9 100.9 Q 49.4 100.9 48.4 100.2 Q 47.4 99.6 46.6 98.0 L 46.6 98.0 L 32.5 72.1 L 15.6 72.1 L 15.6 96.3 Q 15.6 98.4 14.4 99.6 Z M 15.6 37.4 L 15.6 64.4 L 32.5 64.4 Q 39.3 64.4 42.9 60.8 Q 46.6 57.3 46.6 50.8 L 46.6 50.8 Q 46.6 44.5 42.8 40.9 Q 38.9 37.4 32.1 37.4 L 32.1 37.4 L 15.6 37.4 Z',
width: 59.9,
height: 100,
advanceWidth: 59.9,
},
S: {
path: 'M 29.9 101.2 L 29.9 101.2 Q 20.2 101.2 13.4 97.2 Q 6.6 93.2 4.6 86.7 L 4.6 86.7 Q 4.2 85.1 4.2 83.6 L 4.2 83.6 Q 4.2 81.5 5.2 80.3 Q 6.3 79.1 8.2 79.1 L 8.2 79.1 Q 11.4 79.1 12.5 82.6 L 12.5 82.6 Q 14.0 87.9 18.8 90.6 Q 23.5 93.3 30.4 93.3 L 30.4 93.3 Q 37.6 93.3 42.3 89.9 Q 46.9 86.5 46.9 81.3 L 46.9 81.3 Q 46.9 76.8 43.7 73.8 Q 40.4 70.9 33.3 69.3 L 33.3 69.3 L 25.4 67.6 Q 15.0 65.3 10.1 60.5 Q 5.2 55.8 5.2 48.1 L 5.2 48.1 Q 5.2 39.5 12.2 33.9 Q 19.1 28.4 30.1 28.4 L 30.1 28.4 Q 39.0 28.4 45.5 32.5 Q 52.0 36.7 53.9 43.8 L 53.9 43.8 Q 54.1 44.7 54.1 46.0 L 54.1 46.0 Q 54.1 47.8 53.0 48.9 Q 51.9 50.0 50.1 50.0 L 50.1 50.0 Q 46.9 50.0 45.7 46.5 L 45.7 46.5 Q 42.2 36.3 29.8 36.3 L 29.8 36.3 Q 23.0 36.3 18.7 39.4 Q 14.3 42.5 14.3 47.8 L 14.3 47.8 Q 14.3 52.1 17.4 54.9 Q 20.6 57.7 27.6 59.2 L 27.6 59.2 L 35.4 60.9 Q 46.3 63.3 51.1 67.9 Q 56.0 72.4 56.0 80.0 L 56.0 80.0 Q 56.0 89.7 48.9 95.5 Q 41.8 101.2 29.9 101.2 Z',
width: 59.4,
height: 100,
advanceWidth: 59.4,
},
T: {
path: 'M 32.3 99.5 Q 31.1 100.7 29.1 100.7 Q 27.1 100.7 25.9 99.5 Q 24.7 98.2 24.7 96.1 L 24.7 96.1 L 24.7 37.5 L 5.9 37.5 Q 4.1 37.5 2.9 36.4 Q 1.7 35.3 1.7 33.5 Q 1.7 31.7 2.9 30.6 Q 4.1 29.5 5.9 29.5 L 5.9 29.5 L 52.2 29.5 Q 54.1 29.5 55.2 30.6 Q 56.4 31.7 56.4 33.5 Q 56.4 35.3 55.2 36.4 Q 54.1 37.5 52.2 37.5 L 52.2 37.5 L 33.4 37.5 L 33.4 96.1 Q 33.4 98.2 32.3 99.5 Z',
width: 58.1,
height: 100,
advanceWidth: 58.1,
},
U: {
path: 'M 55.2 94.0 Q 47.7 101.2 34.8 101.2 Q 21.9 101.2 14.4 94.0 Q 6.8 86.8 6.8 75.3 L 6.8 75.3 L 6.8 33.4 Q 6.8 31.3 8.0 30.1 Q 9.2 28.9 11.2 28.9 Q 13.2 28.9 14.4 30.1 Q 15.6 31.3 15.6 33.4 L 15.6 33.4 L 15.6 74.7 Q 15.6 82.9 20.7 88.0 Q 25.8 93.1 34.8 93.1 Q 43.8 93.1 48.9 88.0 Q 54.0 82.9 54.0 74.7 L 54.0 74.7 L 54.0 33.4 Q 54.0 31.3 55.2 30.1 Q 56.4 28.9 58.4 28.9 Q 60.4 28.9 61.6 30.1 Q 62.8 31.3 62.8 33.4 L 62.8 33.4 L 62.8 75.3 Q 62.8 86.8 55.2 94.0 Z',
width: 69.6,
height: 100,
advanceWidth: 69.6,
},
V: {
path: 'M 34.9 99.8 Q 33.6 100.7 31.5 100.7 Q 29.4 100.7 28.2 99.8 Q 27.0 98.8 26.1 96.6 L 26.1 96.6 L 2.5 35.1 Q 2.0 33.8 2.0 32.7 L 2.0 32.7 Q 2.0 31.0 3.1 29.9 Q 4.3 28.9 6.3 28.9 L 6.3 28.9 Q 9.4 28.9 10.5 32.0 L 10.5 32.0 L 31.4 89.3 L 31.7 89.3 L 52.5 32.0 Q 53.2 30.3 54.1 29.6 Q 55.1 28.9 56.7 28.9 L 56.7 28.9 Q 58.6 28.9 59.9 29.9 Q 61.1 31.0 61.1 32.7 L 61.1 32.7 Q 61.1 33.6 60.6 35.1 L 60.6 35.1 L 36.9 96.7 Q 36.1 98.9 34.9 99.8 Z',
width: 63.1,
height: 100,
advanceWidth: 63.1,
},
W: {
path: 'M 25.5 100.7 L 25.5 100.7 Q 23.5 100.7 22.4 99.7 Q 21.2 98.7 20.6 96.5 L 20.6 96.5 L 3.3 35.3 Q 2.9 33.9 2.9 32.9 L 2.9 32.9 Q 2.9 31.1 4.2 30.0 Q 5.4 28.9 7.3 28.9 L 7.3 28.9 Q 10.7 28.9 11.6 32.4 L 11.6 32.4 L 25.5 87.1 L 25.9 87.1 L 40.7 33.8 Q 41.5 31.2 42.7 30.0 Q 44.0 28.9 46.2 28.9 L 46.2 28.9 Q 48.4 28.9 49.7 30.0 Q 50.9 31.1 51.6 33.6 L 51.6 33.6 L 66.5 87.1 L 66.9 87.1 L 80.8 32.4 Q 81.6 28.9 85.1 28.9 L 85.1 28.9 Q 87.0 28.9 88.2 30.0 Q 89.5 31.1 89.5 32.9 L 89.5 32.9 Q 89.5 33.9 89.1 35.3 L 89.1 35.3 L 71.8 96.5 Q 71.2 98.7 70.0 99.7 Q 68.8 100.7 66.9 100.7 L 66.9 100.7 Q 64.8 100.7 63.7 99.7 Q 62.5 98.7 61.8 96.5 L 61.8 96.5 L 46.4 44.1 L 45.9 44.1 L 30.6 96.5 Q 29.9 98.7 28.7 99.7 Q 27.5 100.7 25.5 100.7 Z',
width: 92.4,
height: 100,
advanceWidth: 92.4,
},
X: {
path: 'M 8.7 100.7 L 8.7 100.7 Q 6.9 100.7 5.6 99.6 Q 4.4 98.4 4.4 96.9 L 4.4 96.9 Q 4.4 95.5 5.4 94.1 L 5.4 94.1 L 26.2 64.7 L 26.2 64.4 L 5.9 35.8 Q 4.9 34.5 4.9 33.0 L 4.9 33.0 Q 4.9 31.3 6.2 30.1 Q 7.5 28.9 9.4 28.9 L 9.4 28.9 Q 10.7 28.9 11.5 29.4 Q 12.4 29.9 13.4 31.4 L 13.4 31.4 L 31.9 57.9 L 32.2 57.9 L 51.0 31.3 Q 52.0 29.9 52.8 29.4 Q 53.6 28.9 54.8 28.9 L 54.8 28.9 Q 56.6 28.9 57.8 30.0 Q 59.1 31.1 59.1 32.7 L 59.1 32.7 Q 59.1 34.0 58.1 35.4 L 58.1 35.4 L 37.0 64.8 L 37.0 65.1 L 57.5 93.8 Q 58.4 95.2 58.4 96.6 L 58.4 96.6 Q 58.4 98.3 57.1 99.5 Q 55.8 100.7 53.9 100.7 L 53.9 100.7 Q 51.7 100.7 50.1 98.4 L 50.1 98.4 L 31.5 71.9 L 31.2 71.9 L 12.5 98.3 Q 11.5 99.7 10.7 100.2 Q 9.9 100.7 8.7 100.7 Z',
width: 63.5,
height: 100,
advanceWidth: 63.5,
},
Y: {
path: 'M 33.8 99.5 Q 32.6 100.7 30.6 100.7 Q 28.6 100.7 27.4 99.5 Q 26.2 98.2 26.2 96.1 L 26.2 96.1 L 26.2 69.7 L 3.4 35.5 Q 2.5 34.2 2.5 32.7 L 2.5 32.7 Q 2.5 31.1 3.8 30.0 Q 5.0 28.9 6.8 28.9 L 6.8 28.9 Q 9.1 28.9 10.6 31.1 L 10.6 31.1 L 30.5 61.2 L 30.8 61.2 L 50.6 31.1 Q 52.1 28.9 54.4 28.9 L 54.4 28.9 Q 56.3 28.9 57.5 30.0 Q 58.7 31.1 58.7 32.7 L 58.7 32.7 Q 58.7 34.2 57.8 35.5 L 57.8 35.5 L 35.0 69.7 L 35.0 96.1 Q 35.0 98.2 33.8 99.5 Z',
width: 61.2,
height: 100,
advanceWidth: 61.2,
},
Z: {
path: 'M 53.4 100.0 L 9.4 100.0 Q 7.3 100.0 6.1 98.8 Q 4.8 97.6 4.8 95.6 L 4.8 95.6 Q 4.8 93.8 6.3 91.6 L 6.3 91.6 L 45.0 37.8 L 45.0 37.5 L 9.6 37.5 Q 7.8 37.5 6.6 36.4 Q 5.4 35.3 5.4 33.5 Q 5.4 31.7 6.6 30.6 Q 7.8 29.5 9.6 29.5 L 9.6 29.5 L 51.3 29.5 Q 53.4 29.5 54.7 30.8 Q 56.1 32.0 56.1 34.0 L 56.1 34.0 Q 56.1 35.7 54.5 38.0 L 54.5 38.0 L 16.1 91.7 L 16.1 92.1 L 53.4 92.1 Q 55.3 92.1 56.4 93.2 Q 57.6 94.3 57.6 96.0 Q 57.6 97.8 56.4 98.9 Q 55.3 100.0 53.4 100.0 L 53.4 100.0 Z',
width: 61.7,
height: 100,
advanceWidth: 61.7,
},
a: {
path: 'M 20.3 100.9 L 20.3 100.9 Q 12.7 100.9 8.1 96.7 Q 3.4 92.5 3.4 85.6 L 3.4 85.6 Q 3.4 79.1 8.2 75.2 Q 13.0 71.3 21.8 70.8 L 21.8 70.8 L 36.4 70.0 L 36.4 65.7 Q 36.4 61.1 33.5 58.4 Q 30.6 55.8 25.3 55.8 L 25.3 55.8 Q 21.1 55.8 18.2 57.5 Q 15.3 59.1 13.2 62.8 L 13.2 62.8 Q 12.1 64.9 9.7 64.9 L 9.7 64.9 Q 8.0 64.9 7.0 63.8 Q 5.9 62.8 5.9 61.1 Q 5.9 59.4 6.9 57.6 L 6.9 57.6 Q 9.1 53.4 14.2 50.9 Q 19.3 48.3 25.5 48.3 L 25.5 48.3 Q 34.4 48.3 39.7 52.8 Q 44.9 57.3 44.9 64.9 L 44.9 64.9 L 44.9 96.6 Q 44.9 98.5 43.8 99.7 Q 42.7 100.9 40.9 100.9 L 40.9 100.9 Q 39.1 100.9 38.0 99.7 Q 36.9 98.5 36.9 96.6 L 36.9 96.6 L 36.9 91.3 L 36.7 91.3 Q 34.4 95.6 29.9 98.2 Q 25.4 100.9 20.3 100.9 Z M 22.2 93.7 L 22.2 93.7 Q 28.2 93.7 32.3 89.9 Q 36.4 86.2 36.4 80.7 L 36.4 80.7 L 36.4 76.6 L 22.8 77.4 Q 17.7 77.7 14.9 79.9 Q 12.1 82.0 12.1 85.6 Q 12.1 89.3 14.8 91.5 Q 17.6 93.7 22.2 93.7 Z',
width: 50.2,
height: 100,
advanceWidth: 50.2,
},
b: {
path: 'M 12.9 99.7 Q 11.7 100.9 9.9 100.9 Q 8.1 100.9 7.0 99.7 Q 6.0 98.6 6.0 96.7 L 6.0 96.7 L 6.0 33.2 Q 6.0 31.2 7.2 29.9 Q 8.3 28.7 10.2 28.7 Q 12.1 28.7 13.3 29.9 Q 14.5 31.2 14.5 33.2 L 14.5 33.2 L 14.5 57.7 L 14.6 57.7 Q 17.1 53.3 21.4 50.8 Q 25.6 48.3 31.0 48.3 L 31.0 48.3 Q 40.6 48.3 46.5 55.5 Q 52.4 62.7 52.4 74.6 L 52.4 74.6 Q 52.4 86.6 46.5 93.7 Q 40.6 100.9 30.8 100.9 L 30.8 100.9 Q 25.3 100.9 21.1 98.4 Q 16.8 95.9 14.3 91.4 L 14.3 91.4 L 14.1 91.4 L 14.1 96.7 Q 14.1 98.5 12.9 99.7 Z M 29.2 93.4 L 29.2 93.4 Q 35.9 93.4 39.8 88.4 Q 43.7 83.3 43.7 74.6 L 43.7 74.6 Q 43.7 66.0 39.8 60.9 Q 35.9 55.8 29.2 55.8 L 29.2 55.8 Q 22.7 55.8 18.5 61.0 Q 14.4 66.2 14.4 74.6 L 14.4 74.6 Q 14.4 83.1 18.5 88.2 Q 22.7 93.4 29.2 93.4 Z',
width: 55.4,
height: 100,
advanceWidth: 55.4,
},
c: {
path: 'M 26.5 100.9 L 26.5 100.9 Q 15.9 100.9 9.4 93.8 Q 3.0 86.7 3.0 74.7 Q 3.0 62.7 9.4 55.5 Q 15.8 48.3 26.4 48.3 L 26.4 48.3 Q 33.5 48.3 39.1 51.9 Q 44.8 55.5 46.2 60.8 L 46.2 60.8 Q 46.5 61.7 46.5 62.6 L 46.5 62.6 Q 46.5 64.3 45.6 65.3 Q 44.6 66.3 42.9 66.3 L 42.9 66.3 Q 41.6 66.3 40.6 65.6 Q 39.7 65.0 38.9 63.3 L 38.9 63.3 Q 34.9 55.8 26.5 55.8 L 26.5 55.8 Q 19.8 55.8 15.7 61.0 Q 11.7 66.1 11.7 74.6 L 11.7 74.6 Q 11.7 83.3 15.7 88.3 Q 19.8 93.4 26.5 93.4 L 26.5 93.4 Q 30.9 93.4 33.9 91.5 Q 36.9 89.6 38.9 85.9 L 38.9 85.9 Q 39.8 84.2 40.7 83.5 Q 41.5 82.9 42.9 82.9 L 42.9 82.9 Q 44.6 82.9 45.6 83.9 Q 46.6 85.0 46.6 86.6 L 46.6 86.6 Q 46.6 87.5 46.2 88.8 L 46.2 88.8 Q 44.3 94.1 38.8 97.5 Q 33.3 100.9 26.5 100.9 Z',
width: 50.1,
height: 100,
advanceWidth: 50.1,
},
d: {
path: 'M 24.8 100.9 L 24.8 100.9 Q 15.0 100.9 9.0 93.7 Q 3.0 86.5 3.0 74.6 L 3.0 74.6 Q 3.0 62.7 9.0 55.5 Q 14.9 48.3 24.6 48.3 L 24.6 48.3 Q 29.9 48.3 34.2 50.8 Q 38.4 53.2 40.7 57.5 L 40.7 57.5 L 40.9 57.5 L 40.9 33.2 Q 40.9 31.2 42.1 29.9 Q 43.3 28.7 45.2 28.7 Q 47.0 28.7 48.2 29.9 Q 49.4 31.2 49.4 33.2 L 49.4 33.2 L 49.4 96.7 Q 49.4 98.5 48.2 99.7 Q 47.1 100.9 45.3 100.9 L 45.3 100.9 Q 43.4 100.9 42.2 99.7 Q 40.9 98.6 40.9 96.7 L 40.9 96.7 L 40.9 90.9 L 40.8 90.9 Q 38.6 95.6 34.6 98.2 Q 30.6 100.9 24.8 100.9 Z M 26.4 93.4 L 26.4 93.4 Q 33.0 93.4 37.0 88.3 Q 41.0 83.1 41.0 74.6 Q 41.0 66.1 36.9 61.0 Q 32.9 55.8 26.4 55.8 L 26.4 55.8 Q 19.6 55.8 15.7 60.9 Q 11.7 66.0 11.7 74.6 L 11.7 74.6 Q 11.7 83.3 15.7 88.3 Q 19.6 93.4 26.4 93.4 Z',
width: 55.4,
height: 100,
advanceWidth: 55.4,
},
e: {
path: 'M 26.8 100.9 L 26.8 100.9 Q 15.6 100.9 9.3 94.0 Q 3.0 87.1 3.0 74.8 L 3.0 74.8 Q 3.0 62.8 9.3 55.6 Q 15.6 48.3 26.1 48.3 L 26.1 48.3 Q 35.8 48.3 42.0 54.9 Q 48.2 61.5 48.2 72.0 L 48.2 72.0 Q 48.2 74.3 46.9 75.6 Q 45.7 76.9 43.5 76.9 L 43.5 76.9 L 11.8 76.9 Q 11.8 84.6 15.7 89.1 Q 19.7 93.5 26.5 93.5 L 26.5 93.5 Q 31.0 93.5 34.1 91.7 Q 37.2 89.9 40.2 85.6 L 40.2 85.6 Q 41.4 83.9 43.4 83.9 L 43.4 83.9 Q 45.1 83.9 46.1 84.9 Q 47.1 85.9 47.1 87.6 L 47.1 87.6 Q 47.1 88.6 46.5 90.1 L 46.5 90.1 Q 44.0 95.3 38.9 98.1 Q 33.8 100.9 26.8 100.9 Z M 11.8 70.3 L 11.8 70.3 L 39.4 70.3 Q 39.3 63.7 35.5 59.7 Q 31.8 55.7 25.9 55.7 L 25.9 55.7 Q 20.0 55.7 16.1 59.7 Q 12.2 63.7 11.8 70.3 Z',
width: 51.2,
height: 100,
advanceWidth: 51.2,
},
f: {
path: 'M 15.6 99.7 Q 14.5 100.9 12.5 100.9 Q 10.5 100.9 9.4 99.7 Q 8.3 98.4 8.3 96.4 L 8.3 96.4 L 8.3 56.2 L 4.1 56.2 Q 2.4 56.2 1.4 55.3 Q 0.4 54.3 0.4 52.7 L 0.4 52.7 Q 0.4 51.2 1.4 50.2 Q 2.4 49.2 4.1 49.2 L 4.1 49.2 L 8.3 49.2 L 8.3 43.6 Q 8.3 36.4 11.6 32.8 Q 14.9 29.2 21.2 29.2 L 21.2 29.2 Q 24.5 29.2 26.3 30.2 Q 28.1 31.2 28.1 33.1 L 28.1 33.1 Q 28.1 35.4 25.8 36.1 L 25.8 36.1 Q 24.7 36.4 23.1 36.4 L 23.1 36.4 Q 19.8 36.4 18.2 38.2 Q 16.7 39.9 16.7 43.8 L 16.7 43.8 L 16.7 49.2 L 24.2 49.2 Q 25.9 49.2 26.9 50.2 Q 27.8 51.2 27.8 52.7 L 27.8 52.7 Q 27.8 54.3 26.9 55.3 Q 25.9 56.2 24.2 56.2 L 24.2 56.2 L 16.7 56.2 L 16.7 96.4 Q 16.7 98.4 15.6 99.7 Z',
width: 30.4,
height: 100,
advanceWidth: 30.4,
},
g: {
path: 'M 26.0 119.1 L 26.0 119.1 Q 19.7 119.1 14.6 116.7 Q 9.6 114.3 6.9 110.1 L 6.9 110.1 Q 5.9 108.5 5.9 106.9 L 5.9 106.9 Q 5.9 105.3 7.0 104.2 Q 8.1 103.2 9.7 103.2 L 9.7 103.2 Q 10.7 103.2 11.5 103.6 Q 12.3 104.1 13.3 105.2 L 13.3 105.2 Q 16.6 108.8 19.5 110.3 Q 22.5 111.9 26.4 111.9 L 26.4 111.9 Q 33.1 112.0 37.0 108.5 Q 41.0 105.0 41.0 99.3 L 41.0 99.3 L 41.0 91.3 L 40.8 91.3 Q 38.4 95.5 34.1 97.9 Q 29.7 100.4 24.5 100.4 L 24.5 100.4 Q 14.7 100.4 8.9 93.3 Q 3.0 86.2 3.0 74.4 L 3.0 74.4 Q 3.0 62.5 8.9 55.4 Q 14.8 48.3 24.7 48.3 L 24.7 48.3 Q 29.9 48.3 34.1 50.8 Q 38.2 53.2 40.8 57.6 L 40.8 57.6 L 41.0 57.6 L 41.0 52.7 Q 41.0 50.8 42.2 49.6 Q 43.4 48.3 45.2 48.3 Q 47.1 48.3 48.3 49.6 Q 49.5 50.8 49.5 52.7 L 49.5 52.7 L 49.5 99.0 Q 49.5 108.2 43.1 113.7 Q 36.8 119.2 26.0 119.1 Z M 26.2 92.9 L 26.2 92.9 Q 32.8 92.9 36.9 87.8 Q 41.0 82.8 41.0 74.4 Q 41.0 66.1 36.9 60.9 Q 32.8 55.8 26.2 55.8 L 26.2 55.8 Q 19.6 55.8 15.6 60.9 Q 11.7 65.9 11.7 74.4 Q 11.7 82.9 15.6 87.9 Q 19.6 92.9 26.2 92.9 Z',
width: 54.9,
height: 100,
advanceWidth: 54.9,
},
h: {
path: 'M 13.3 99.6 Q 12.1 100.9 10.2 100.9 Q 8.3 100.9 7.2 99.6 Q 6.0 98.3 6.0 96.3 L 6.0 96.3 L 6.0 33.1 Q 6.0 31.1 7.1 29.9 Q 8.3 28.7 10.2 28.7 L 10.2 28.7 Q 12.2 28.7 13.3 29.9 Q 14.5 31.1 14.5 33.1 L 14.5 33.1 L 14.5 57.3 L 14.6 57.3 Q 16.8 53.0 20.9 50.7 Q 25.0 48.3 30.8 48.3 L 30.8 48.3 Q 39.1 48.3 43.8 53.5 Q 48.6 58.6 48.6 67.2 L 48.6 67.2 L 48.6 96.3 Q 48.6 98.3 47.4 99.6 Q 46.2 100.9 44.4 100.9 Q 42.5 100.9 41.3 99.6 Q 40.1 98.3 40.1 96.3 L 40.1 96.3 L 40.1 68.8 Q 40.1 62.6 37.1 59.2 Q 34.0 55.9 28.1 55.9 L 28.1 55.9 Q 21.8 55.9 18.1 59.8 Q 14.5 63.8 14.5 70.4 L 14.5 70.4 L 14.5 96.3 Q 14.5 98.3 13.3 99.6 Z',
width: 53.9,
height: 100,
advanceWidth: 53.9,
},
i: {
path: 'M 10.2 40.7 L 10.2 40.7 Q 8.1 40.7 6.5 39.1 Q 4.9 37.5 4.9 35.4 L 4.9 35.4 Q 4.9 33.2 6.5 31.7 Q 8.1 30.1 10.2 30.1 L 10.2 30.1 Q 12.4 30.1 14.0 31.7 Q 15.5 33.2 15.5 35.4 L 15.5 35.4 Q 15.5 37.5 14.0 39.1 Q 12.4 40.7 10.2 40.7 Z M 13.3 99.6 Q 12.1 100.9 10.2 100.9 Q 8.3 100.9 7.2 99.6 Q 6.0 98.3 6.0 96.3 L 6.0 96.3 L 6.0 52.9 Q 6.0 50.9 7.2 49.6 Q 8.3 48.3 10.2 48.3 Q 12.1 48.3 13.3 49.6 Q 14.5 50.9 14.5 52.9 L 14.5 52.9 L 14.5 96.3 Q 14.5 98.3 13.3 99.6 Z',
width: 20.4,
height: 100,
advanceWidth: 20.4,
},
j: {
path: 'M 10.2 40.7 L 10.2 40.7 Q 8.1 40.7 6.5 39.1 Q 4.9 37.5 4.9 35.4 L 4.9 35.4 Q 4.9 33.2 6.5 31.7 Q 8.1 30.1 10.2 30.1 L 10.2 30.1 Q 12.4 30.1 14.0 31.7 Q 15.5 33.2 15.5 35.4 L 15.5 35.4 Q 15.5 37.5 14.0 39.1 Q 12.4 40.7 10.2 40.7 Z M 7.2 49.6 Q 8.3 48.3 10.2 48.3 Q 12.1 48.3 13.3 49.6 Q 14.5 50.9 14.5 52.9 L 14.5 52.9 L 14.5 103.7 Q 14.5 110.4 11.1 113.9 Q 7.7 117.4 1.5 117.4 L 1.5 117.4 Q -0.9 117.4 -2.2 116.4 Q -3.6 115.4 -3.6 113.8 L -3.6 113.8 Q -3.6 110.7 0.2 110.2 L 0.2 110.2 L 0.6 110.2 Q 3.5 109.7 4.7 108.0 Q 6.0 106.3 6.0 102.9 L 6.0 102.9 L 6.0 52.9 Q 6.0 50.9 7.2 49.6 Z',
width: 20.4,
height: 100,
advanceWidth: 20.4,
},
k: {
path: 'M 13.3 99.6 Q 12.1 100.9 10.2 100.9 Q 8.3 100.9 7.2 99.6 Q 6.0 98.3 6.0 96.3 L 6.0 96.3 L 6.0 33.2 Q 6.0 31.2 7.2 29.9 Q 8.3 28.7 10.2 28.7 Q 12.1 28.7 13.3 29.9 Q 14.5 31.2 14.5 33.2 L 14.5 33.2 L 14.5 71.8 L 37.2 49.8 Q 38.6 48.3 40.2 48.3 L 40.2 48.3 Q 41.7 48.3 42.8 49.4 Q 43.8 50.4 43.8 51.9 L 43.8 51.9 Q 43.8 53.4 42.5 54.7 L 42.5 54.7 L 25.2 71.1 L 44.3 94.4 Q 45.4 95.7 45.4 97.3 L 45.4 97.3 Q 45.4 98.8 44.2 99.8 Q 43.1 100.9 41.5 100.9 L 41.5 100.9 Q 39.6 100.9 38.3 99.3 L 38.3 99.3 L 19.2 76.4 L 14.5 80.9 L 14.5 96.3 Q 14.5 98.3 13.3 99.6 Z',
width: 48.5,
height: 100,
advanceWidth: 48.5,
},
l: {
path: 'M 13.3 99.6 Q 12.1 100.9 10.2 100.9 Q 8.3 100.9 7.2 99.6 Q 6.0 98.3 6.0 96.3 L 6.0 96.3 L 6.0 33.2 Q 6.0 31.2 7.2 29.9 Q 8.3 28.7 10.2 28.7 Q 12.1 28.7 13.3 29.9 Q 14.5 31.2 14.5 33.2 L 14.5 33.2 L 14.5 96.3 Q 14.5 98.3 13.3 99.6 Z',
width: 20.4,
height: 100,
advanceWidth: 20.4,
},
m: {
path: 'M 12.8 99.6 Q 11.7 100.9 9.8 100.9 Q 7.9 100.9 6.7 99.6 Q 5.5 98.3 5.5 96.3 L 5.5 96.3 L 5.5 52.6 Q 5.5 50.7 6.6 49.5 Q 7.8 48.3 9.5 48.3 Q 11.3 48.3 12.4 49.5 Q 13.5 50.7 13.5 52.6 L 13.5 52.6 L 13.5 57.3 L 13.7 57.3 Q 15.6 53.2 19.3 50.8 Q 23.1 48.3 28.1 48.3 L 28.1 48.3 Q 33.3 48.3 37.0 50.9 Q 40.7 53.4 42.4 58.0 L 42.4 58.0 L 42.6 58.0 Q 44.7 53.5 48.9 50.9 Q 53.1 48.3 58.5 48.3 L 58.5 48.3 Q 66.0 48.3 70.5 52.9 Q 75.0 57.4 75.0 64.9 L 75.0 64.9 L 75.0 96.3 Q 75.0 98.3 73.9 99.6 Q 72.7 100.9 70.8 100.9 Q 68.9 100.9 67.7 99.6 Q 66.6 98.3 66.6 96.3 L 66.6 96.3 L 66.6 66.9 Q 66.6 61.7 63.8 58.8 Q 61.0 55.9 56.0 55.9 Q 51.0 55.9 47.8 59.2 Q 44.5 62.5 44.5 67.7 L 44.5 67.7 L 44.5 96.3 Q 44.5 98.3 43.4 99.6 Q 42.2 100.9 40.3 100.9 Q 38.4 100.9 37.2 99.6 Q 36.0 98.3 36.0 96.3 L 36.0 96.3 L 36.0 66.0 Q 36.0 61.4 33.2 58.6 Q 30.4 55.9 25.6 55.9 L 25.6 55.9 Q 20.6 55.9 17.3 59.4 Q 14.0 62.9 14.0 68.2 L 14.0 68.2 L 14.0 96.3 Q 14.0 98.3 12.8 99.6 Z',
width: 80.3,
height: 100,
advanceWidth: 80.3,
},
n: {
path: 'M 12.8 99.6 Q 11.6 100.9 9.8 100.9 Q 7.9 100.9 6.7 99.6 Q 5.5 98.3 5.5 96.3 L 5.5 96.3 L 5.5 52.6 Q 5.5 50.7 6.6 49.5 Q 7.8 48.3 9.5 48.3 Q 11.3 48.3 12.4 49.5 Q 13.5 50.7 13.5 52.6 L 13.5 52.6 L 13.5 57.3 L 13.7 57.3 Q 15.9 53.1 20.0 50.7 Q 24.1 48.3 29.8 48.3 L 29.8 48.3 Q 38.1 48.3 42.8 53.3 Q 47.4 58.3 47.4 67.0 L 47.4 67.0 L 47.4 96.3 Q 47.4 98.3 46.2 99.6 Q 45.0 100.9 43.2 100.9 Q 41.3 100.9 40.1 99.6 Q 38.9 98.3 38.9 96.3 L 38.9 96.3 L 38.9 68.6 Q 38.9 62.4 36.0 59.1 Q 33.1 55.9 27.2 55.9 L 27.2 55.9 Q 21.2 55.9 17.6 59.8 Q 14.0 63.7 14.0 70.1 L 14.0 70.1 L 14.0 96.3 Q 14.0 98.3 12.8 99.6 Z',
width: 52.7,
height: 100,
advanceWidth: 52.7,
},
o: {
path: 'M 26.6 100.9 L 26.6 100.9 Q 15.9 100.9 9.5 93.8 Q 3.0 86.7 3.0 74.6 Q 3.0 62.5 9.5 55.4 Q 15.9 48.3 26.6 48.3 L 26.6 48.3 Q 37.2 48.3 43.6 55.4 Q 50.0 62.5 50.0 74.6 L 50.0 74.6 Q 50.0 86.6 43.6 93.8 Q 37.2 100.9 26.6 100.9 Z M 15.7 88.4 Q 19.7 93.4 26.6 93.4 Q 33.4 93.4 37.4 88.5 Q 41.4 83.5 41.4 74.6 Q 41.4 65.7 37.4 60.8 Q 33.4 55.8 26.6 55.8 Q 19.7 55.8 15.7 60.8 Q 11.7 65.8 11.7 74.6 Q 11.7 83.4 15.7 88.4 Z',
width: 53.1,
height: 100,
advanceWidth: 53.1,
},
p: {
path: 'M 12.8 116.7 Q 11.6 117.9 9.8 117.9 Q 7.9 117.9 6.7 116.7 Q 5.5 115.4 5.5 113.4 L 5.5 113.4 L 5.5 52.6 Q 5.5 50.7 6.6 49.5 Q 7.8 48.3 9.6 48.3 L 9.6 48.3 Q 11.3 48.3 12.5 49.5 Q 13.6 50.7 13.6 52.6 L 13.6 52.6 L 13.6 57.8 L 13.8 57.8 Q 16.2 53.4 20.5 50.9 Q 24.8 48.3 30.2 48.3 L 30.2 48.3 Q 39.9 48.3 45.9 55.5 Q 51.9 62.7 51.9 74.6 L 51.9 74.6 Q 51.9 86.5 45.9 93.7 Q 40.0 100.9 30.4 100.9 L 30.4 100.9 Q 25.0 100.9 20.8 98.4 Q 16.5 96.0 14.2 91.7 L 14.2 91.7 L 14.0 91.7 L 14.0 113.4 Q 14.0 115.4 12.8 116.7 Z M 28.5 93.4 L 28.5 93.4 Q 35.3 93.4 39.3 88.3 Q 43.2 83.3 43.2 74.6 Q 43.2 66.0 39.3 60.9 Q 35.3 55.8 28.5 55.8 L 28.5 55.8 Q 22.0 55.8 18.0 61.0 Q 14.0 66.2 14.0 74.6 L 14.0 74.6 Q 14.0 83.1 18.0 88.3 Q 22.0 93.4 28.5 93.4 Z',
width: 54.9,
height: 100,
advanceWidth: 54.9,
},
q: {
path: 'M 24.5 100.9 L 24.5 100.9 Q 14.8 100.9 8.9 93.7 Q 3.0 86.5 3.0 74.6 L 3.0 74.6 Q 3.0 62.6 8.9 55.5 Q 14.8 48.3 24.7 48.3 L 24.7 48.3 Q 30.1 48.3 34.4 50.8 Q 38.6 53.3 41.1 57.8 L 41.1 57.8 L 41.3 57.8 L 41.3 52.6 Q 41.3 50.7 42.4 49.5 Q 43.6 48.3 45.4 48.3 Q 47.2 48.3 48.3 49.5 Q 49.4 50.7 49.4 52.6 L 49.4 52.6 L 49.4 113.4 Q 49.4 115.4 48.2 116.7 Q 47.0 117.9 45.2 117.9 Q 43.3 117.9 42.1 116.7 Q 40.9 115.4 40.9 113.4 L 40.9 113.4 L 40.9 91.5 L 40.7 91.5 Q 38.3 95.9 34.1 98.4 Q 29.8 100.9 24.5 100.9 Z M 26.2 93.4 L 26.2 93.4 Q 32.7 93.4 36.8 88.2 Q 40.9 83.1 40.9 74.6 Q 40.9 66.2 36.8 61.0 Q 32.7 55.8 26.2 55.8 L 26.2 55.8 Q 19.5 55.8 15.6 60.9 Q 11.7 65.9 11.7 74.6 Q 11.7 83.3 15.6 88.4 Q 19.5 93.4 26.2 93.4 Z',
width: 54.9,
height: 100,
advanceWidth: 54.9,
},
r: {
path: 'M 12.8 99.6 Q 11.6 100.9 9.8 100.9 Q 7.9 100.9 6.7 99.6 Q 5.5 98.3 5.5 96.3 L 5.5 96.3 L 5.5 52.6 Q 5.5 50.7 6.6 49.5 Q 7.8 48.3 9.5 48.3 Q 11.3 48.3 12.4 49.5 Q 13.5 50.7 13.5 52.6 L 13.5 52.6 L 13.5 57.5 L 13.7 57.5 Q 14.8 53.6 18.1 51.0 Q 21.4 48.3 25.2 48.3 L 25.2 48.3 Q 27.9 48.3 29.2 49.6 L 29.2 49.6 Q 30.3 50.6 30.3 52.4 L 30.3 52.4 Q 30.3 54.3 29.0 55.4 L 29.0 55.4 Q 27.7 56.4 25.0 56.4 L 25.0 56.4 Q 19.5 56.4 16.7 59.8 Q 14.0 63.2 14.0 68.5 L 14.0 68.5 L 14.0 96.3 Q 14.0 98.3 12.8 99.6 Z',
width: 30.8,
height: 100,
advanceWidth: 30.8,
},
s: {
path: 'M 23.1 100.9 L 23.1 100.9 Q 16.4 100.9 11.4 98.1 Q 6.4 95.3 4.6 90.5 L 4.6 90.5 Q 4.2 89.5 4.2 88.5 L 4.2 88.5 Q 4.2 86.8 5.3 85.9 Q 6.3 85.0 8.1 85.0 L 8.1 85.0 Q 10.4 85.0 11.8 87.5 L 11.8 87.5 Q 13.7 91.0 16.4 92.5 Q 19.1 93.9 23.8 93.9 L 23.8 93.9 Q 28.8 93.9 31.7 91.9 Q 34.7 89.9 34.7 86.4 L 34.7 86.4 Q 34.7 83.6 32.9 82.0 Q 31.2 80.4 26.9 79.3 L 26.9 79.3 L 19.1 77.4 Q 4.6 73.8 4.6 63.2 L 4.6 63.2 Q 4.6 56.5 9.9 52.4 Q 15.2 48.3 23.8 48.3 L 23.8 48.3 Q 30.1 48.3 35.0 51.4 Q 39.9 54.5 40.9 59.1 L 40.9 59.1 Q 41.1 59.9 41.1 60.4 L 41.1 60.4 Q 41.1 61.9 40.2 62.8 Q 39.3 63.7 37.7 63.7 L 37.7 63.7 Q 35.2 63.7 34.0 61.4 L 34.0 61.4 Q 32.3 58.3 29.8 56.8 Q 27.2 55.3 23.3 55.3 L 23.3 55.3 Q 18.8 55.3 15.9 57.4 Q 13.0 59.5 13.0 62.7 L 13.0 62.7 Q 13.0 68.0 21.3 70.1 L 21.3 70.1 L 28.9 71.9 Q 36.8 73.9 40.1 77.0 Q 43.4 80.1 43.4 85.7 L 43.4 85.7 Q 43.4 92.5 37.8 96.7 Q 32.2 100.9 23.1 100.9 Z',
width: 46.5,
height: 100,
advanceWidth: 46.5,
},
t: {
path: 'M 8.3 88.3 L 8.3 88.3 L 8.3 56.2 L 4.0 56.2 Q 2.2 56.2 1.2 55.3 Q 0.2 54.4 0.2 52.7 L 0.2 52.7 Q 0.2 51.0 1.2 50.1 Q 2.2 49.2 4.0 49.2 L 4.0 49.2 L 8.3 49.2 L 8.3 40.5 Q 8.3 38.5 9.4 37.3 Q 10.6 36.0 12.5 36.0 Q 14.4 36.0 15.6 37.3 Q 16.7 38.5 16.7 40.5 L 16.7 40.5 L 16.7 49.2 L 23.3 49.2 Q 25.1 49.2 26.1 50.1 Q 27.1 51.0 27.1 52.7 L 27.1 52.7 Q 27.1 54.4 26.1 55.3 Q 25.1 56.2 23.3 56.2 L 23.3 56.2 L 16.7 56.2 L 16.7 86.4 Q 16.7 89.7 18.1 91.3 Q 19.4 92.9 22.5 93.1 L 22.5 93.1 L 23.2 93.1 Q 27.3 93.4 27.3 96.4 L 27.3 96.4 Q 27.3 98.5 25.9 99.4 Q 24.5 100.4 21.1 100.4 L 21.1 100.4 L 20.6 100.4 Q 8.3 100.4 8.3 88.3 Z',
width: 30.1,
height: 100,
advanceWidth: 30.1,
},
u: {
path: 'M 22.9 100.9 L 22.9 100.9 Q 14.6 100.9 9.9 95.9 Q 5.3 90.9 5.3 82.2 L 5.3 82.2 L 5.3 52.9 Q 5.3 50.9 6.5 49.6 Q 7.7 48.3 9.5 48.3 Q 11.4 48.3 12.6 49.6 Q 13.8 50.9 13.8 52.9 L 13.8 52.9 L 13.8 80.7 Q 13.8 93.4 25.5 93.4 L 25.5 93.4 Q 31.6 93.4 35.2 89.5 Q 38.7 85.6 38.7 79.1 L 38.7 79.1 L 38.7 52.9 Q 38.7 50.9 39.9 49.6 Q 41.1 48.3 43.0 48.3 Q 44.8 48.3 46.0 49.6 Q 47.2 50.9 47.2 52.9 L 47.2 52.9 L 47.2 96.6 Q 47.2 98.4 46.1 99.7 Q 45.0 100.9 43.2 100.9 Q 41.4 100.9 40.3 99.7 Q 39.2 98.4 39.2 96.6 L 39.2 96.6 L 39.2 91.7 L 39.0 91.7 Q 34.2 100.9 22.9 100.9 Z',
width: 52.7,
height: 100,
advanceWidth: 52.7,
},
v: {
path: 'M 24.1 100.9 L 24.1 100.9 Q 22.0 100.9 20.8 99.9 Q 19.5 98.9 18.6 96.6 L 18.6 96.6 L 2.4 54.4 Q 2.0 53.3 2.0 52.2 L 2.0 52.2 Q 2.0 50.5 3.1 49.4 Q 4.3 48.3 6.2 48.3 L 6.2 48.3 Q 9.0 48.3 10.2 51.6 L 10.2 51.6 L 24.1 91.0 L 24.3 91.0 L 38.2 51.6 Q 39.4 48.3 42.1 48.3 L 42.1 48.3 Q 44.0 48.3 45.2 49.4 Q 46.3 50.5 46.3 52.2 L 46.3 52.2 Q 46.3 53.3 45.9 54.4 L 45.9 54.4 L 29.8 96.6 Q 28.1 100.9 24.1 100.9 Z',
width: 48.3,
height: 100,
advanceWidth: 48.3,
},
w: {
path: 'M 19.8 100.9 L 19.8 100.9 Q 15.9 100.9 14.7 96.8 L 14.7 96.8 L 2.3 54.2 Q 2.0 53.0 2.0 52.0 L 2.0 52.0 Q 2.0 50.3 3.1 49.3 Q 4.2 48.3 6.1 48.3 L 6.1 48.3 Q 7.7 48.3 8.6 49.1 Q 9.5 50.0 10.0 51.8 L 10.0 51.8 L 20.0 90.5 L 20.2 90.5 L 30.8 52.1 Q 31.8 48.3 35.8 48.3 L 35.8 48.3 Q 39.6 48.3 40.6 52.1 L 40.6 52.1 L 51.4 90.5 L 51.6 90.5 L 61.6 51.8 Q 62.1 50.0 63.0 49.1 Q 63.9 48.3 65.4 48.3 L 65.4 48.3 Q 67.3 48.3 68.5 49.3 Q 69.6 50.3 69.6 52.0 L 69.6 52.0 Q 69.6 53.0 69.2 54.2 L 69.2 54.2 L 56.8 96.8 Q 55.7 100.9 51.7 100.9 L 51.7 100.9 Q 47.6 100.9 46.4 96.8 L 46.4 96.8 L 35.8 60.7 L 35.6 60.7 L 25.1 96.8 Q 24.0 100.9 19.8 100.9 Z',
width: 71.5,
height: 100,
advanceWidth: 71.5,
},
x: {
path: 'M 7.4 100.9 L 7.4 100.9 Q 5.7 100.9 4.6 99.8 Q 3.4 98.8 3.4 97.2 L 3.4 97.2 Q 3.4 96.0 4.2 94.8 L 4.2 94.8 L 18.9 74.6 L 4.5 54.5 Q 3.7 53.3 3.7 52.0 L 3.7 52.0 Q 3.7 50.4 4.9 49.4 Q 6.1 48.3 7.8 48.3 L 7.8 48.3 Q 9.8 48.3 11.0 50.1 L 11.0 50.1 L 23.6 68.3 L 23.8 68.3 L 36.0 50.3 Q 37.4 48.3 39.3 48.3 L 39.3 48.3 Q 41.1 48.3 42.3 49.4 Q 43.5 50.4 43.5 52.0 L 43.5 52.0 Q 43.5 53.3 42.7 54.4 L 42.7 54.4 L 28.2 74.3 L 42.5 94.6 Q 43.4 95.9 43.4 97.2 L 43.4 97.2 Q 43.4 98.7 42.2 99.8 Q 41.0 100.9 39.3 100.9 L 39.3 100.9 Q 37.2 100.9 36.1 99.2 L 36.1 99.2 L 23.5 80.7 L 23.3 80.7 L 10.6 99.2 Q 9.4 100.9 7.4 100.9 Z',
width: 46.9,
height: 100,
advanceWidth: 46.9,
},
y: {
path: 'M 10.5 119.0 L 10.5 119.0 Q 7.4 119.0 5.8 117.9 Q 4.1 116.8 4.1 114.8 L 4.1 114.8 Q 4.1 113.4 5.0 112.5 Q 5.9 111.7 7.5 111.7 L 7.5 111.7 Q 8.1 111.7 8.9 111.7 Q 9.7 111.7 10.4 111.7 L 10.4 111.7 Q 16.1 111.7 18.7 103.6 L 18.7 103.6 L 19.9 100.0 L 2.4 54.5 Q 2.0 53.3 2.0 52.2 L 2.0 52.2 Q 2.0 50.5 3.1 49.4 Q 4.3 48.3 6.2 48.3 L 6.2 48.3 Q 9.2 48.3 10.3 51.5 L 10.3 51.5 L 24.3 91.5 L 24.4 91.5 L 38.5 51.5 Q 39.1 49.8 40.0 49.0 Q 40.9 48.3 42.5 48.3 L 42.5 48.3 Q 44.3 48.3 45.5 49.4 Q 46.6 50.5 46.6 52.2 L 46.6 52.2 Q 46.6 53.3 46.2 54.5 L 46.2 54.5 L 27.4 103.6 Q 24.2 112.3 20.5 115.6 Q 16.8 119.0 10.5 119.0 Z',
width: 48.6,
height: 100,
advanceWidth: 48.6,
},
z: {
path: 'M 39.1 100.0 L 8.9 100.0 Q 6.9 100.0 5.6 98.9 Q 4.4 97.7 4.4 95.8 Q 4.4 93.9 5.8 92.0 L 5.8 92.0 L 32.6 56.3 L 32.6 56.2 L 7.8 56.2 Q 6.0 56.2 5.0 55.3 Q 4.0 54.4 4.0 52.7 L 4.0 52.7 Q 4.0 51.0 5.0 50.1 Q 6.0 49.2 7.8 49.2 L 7.8 49.2 L 37.2 49.2 Q 39.6 49.2 40.9 50.4 Q 42.3 51.5 42.3 53.6 L 42.3 53.6 Q 42.3 55.4 40.3 58.1 L 40.3 58.1 L 14.3 92.9 L 14.3 93.0 L 39.1 93.0 Q 40.9 93.0 41.9 93.9 Q 42.9 94.8 42.9 96.5 L 42.9 96.5 Q 42.9 98.2 41.9 99.1 Q 40.9 100.0 39.1 100.0 L 39.1 100.0 Z',
width: 46.8,
height: 100,
advanceWidth: 46.8,
},
' ': {
path: '',
width: 20.5,
height: 100,
advanceWidth: 20.5,
},
'.': {
path: 'M 16.7 98.9 Q 15.0 100.5 12.7 100.5 Q 10.4 100.5 8.7 98.9 Q 7.1 97.3 7.1 94.9 Q 7.1 92.6 8.7 91.0 Q 10.4 89.4 12.7 89.4 Q 15.0 89.4 16.7 91.0 Q 18.3 92.6 18.3 94.9 Q 18.3 97.3 16.7 98.9 Z',
width: 25.4,
height: 100,
advanceWidth: 25.4,
},
',': {
path: 'M 12.5 88.7 L 12.5 88.7 Q 14.5 88.7 15.6 89.7 Q 16.8 90.8 16.8 92.5 L 16.8 92.5 Q 16.8 93.8 16.4 95.2 L 16.4 95.2 L 11.9 112.0 Q 11.1 115.1 8.2 115.1 L 8.2 115.1 Q 6.7 115.1 5.7 114.3 Q 4.7 113.4 4.7 112.0 L 4.7 112.0 Q 4.7 111.4 4.9 110.5 L 4.9 110.5 L 8.3 92.4 Q 9.1 88.7 12.5 88.7 Z',
width: 25.4,
height: 100,
advanceWidth: 25.4,
},
'!': {
path: 'M 16.1 76.2 Q 15.1 77.3 13.3 77.3 Q 11.6 77.3 10.5 76.2 Q 9.5 75.1 9.5 73.2 L 9.5 73.2 L 9.0 33.1 Q 9.0 31.1 10.2 29.9 Q 11.5 28.7 13.3 28.7 Q 15.2 28.7 16.4 29.9 Q 17.7 31.1 17.7 33.1 L 17.7 33.1 L 17.2 73.2 Q 17.1 75.1 16.1 76.2 Z M 13.3 100.5 L 13.3 100.5 Q 11.0 100.5 9.4 98.9 Q 7.8 97.3 7.8 94.9 L 7.8 94.9 Q 7.8 92.5 9.4 90.9 Q 11.0 89.4 13.3 89.4 L 13.3 89.4 Q 15.7 89.4 17.3 90.9 Q 18.9 92.5 18.9 94.9 L 18.9 94.9 Q 18.9 97.3 17.3 98.9 Q 15.7 100.5 13.3 100.5 Z',
width: 26.7,
height: 100,
advanceWidth: 26.7,
},
'?': {
path: 'M 22.4 80.2 L 22.4 80.2 Q 20.2 80.2 19.1 78.8 Q 18.0 77.4 18.0 75.2 L 18.0 75.2 L 18.0 73.8 Q 18.0 68.9 20.4 65.4 Q 22.7 61.9 27.8 58.9 L 27.8 58.9 Q 32.0 56.3 33.8 53.6 Q 35.6 51.0 35.6 47.3 L 35.6 47.3 Q 35.6 42.5 32.3 39.6 Q 29.1 36.6 23.7 36.6 L 23.7 36.6 Q 18.8 36.6 15.7 39.0 Q 12.5 41.3 11.3 45.8 L 11.3 45.8 Q 10.6 47.9 9.7 48.8 Q 8.8 49.7 7.2 49.7 L 7.2 49.7 Q 5.3 49.7 4.3 48.6 Q 3.3 47.6 3.3 45.7 L 3.3 45.7 Q 3.3 42.7 4.6 40.0 L 4.6 40.0 Q 6.7 34.8 11.9 31.9 Q 17.0 29.0 24.0 29.0 L 24.0 29.0 Q 33.1 29.0 38.9 34.0 Q 44.7 39.0 44.7 46.8 L 44.7 46.8 Q 44.7 57.4 34.5 63.5 L 34.5 63.5 Q 29.9 66.3 28.2 68.7 Q 26.6 71.1 26.6 75.0 L 26.6 75.0 Q 26.6 80.2 22.4 80.2 Z M 22.3 100.5 L 22.3 100.5 Q 20.0 100.5 18.4 98.9 Q 16.7 97.3 16.7 94.9 L 16.7 94.9 Q 16.7 92.5 18.4 90.9 Q 20.0 89.4 22.3 89.4 L 22.3 89.4 Q 24.7 89.4 26.3 90.9 Q 27.9 92.5 27.9 94.9 L 27.9 94.9 Q 27.9 97.3 26.3 98.9 Q 24.7 100.5 22.3 100.5 Z',
width: 48.9,
height: 100,
advanceWidth: 48.9,
},
':': {
path: 'M 16.7 62.9 Q 15.0 64.6 12.7 64.6 Q 10.4 64.6 8.7 62.9 Q 7.1 61.3 7.1 59.0 Q 7.1 56.6 8.7 55.0 Q 10.4 53.4 12.7 53.4 Q 15.0 53.4 16.7 55.0 Q 18.3 56.6 18.3 59.0 Q 18.3 61.3 16.7 62.9 Z M 16.7 98.9 Q 15.0 100.5 12.7 100.5 Q 10.4 100.5 8.7 98.9 Q 7.1 97.3 7.1 94.9 Q 7.1 92.6 8.7 91.0 Q 10.4 89.4 12.7 89.4 Q 15.0 89.4 16.7 91.0 Q 18.3 92.6 18.3 94.9 Q 18.3 97.3 16.7 98.9 Z',
width: 25.4,
height: 100,
advanceWidth: 25.4,
},
';': {
path: 'M 16.7 62.9 Q 15.0 64.6 12.7 64.6 Q 10.4 64.6 8.7 62.9 Q 7.1 61.3 7.1 59.0 Q 7.1 56.6 8.7 55.0 Q 10.4 53.4 12.7 53.4 Q 15.0 53.4 16.7 55.0 Q 18.3 56.6 18.3 59.0 Q 18.3 61.3 16.7 62.9 Z M 12.5 88.7 L 12.5 88.7 Q 14.5 88.7 15.6 89.7 Q 16.8 90.8 16.8 92.5 L 16.8 92.5 Q 16.8 93.8 16.4 95.2 L 16.4 95.2 L 11.9 112.0 Q 11.1 115.1 8.2 115.1 L 8.2 115.1 Q 6.7 115.1 5.7 114.3 Q 4.7 113.4 4.7 112.0 L 4.7 112.0 Q 4.7 111.4 4.9 110.5 L 4.9 110.5 L 8.3 92.4 Q 9.1 88.7 12.5 88.7 Z',
width: 25.4,
height: 100,
advanceWidth: 25.4,
},
'-': {
path: 'M 34.0 75.4 L 8.9 75.4 Q 7.1 75.4 5.9 74.3 Q 4.7 73.2 4.7 71.4 Q 4.7 69.7 5.9 68.6 Q 7.1 67.5 8.9 67.5 L 8.9 67.5 L 34.0 67.5 Q 35.8 67.5 37.0 68.6 Q 38.2 69.7 38.2 71.4 Q 38.2 73.2 37.0 74.3 Q 35.8 75.4 34.0 75.4 L 34.0 75.4 Z',
width: 42.9,
height: 100,
advanceWidth: 42.9,
},
'(': {
path: 'M 27.9 115.1 Q 27.2 115.8 26.0 115.8 Q 24.9 115.8 23.9 115.2 Q 22.9 114.6 21.7 113.0 L 21.7 113.0 Q 15.2 103.6 12.3 94.2 Q 9.3 84.8 9.3 72.2 L 9.3 72.2 Q 9.3 48.0 21.9 31.3 L 21.9 31.3 Q 23.1 29.7 24.0 29.2 Q 24.8 28.7 26.0 28.7 L 26.0 28.7 Q 27.1 28.7 27.9 29.3 Q 28.6 29.9 28.6 31.0 L 28.6 31.0 Q 28.6 31.9 27.6 33.6 L 27.6 33.6 Q 23.1 41.5 20.5 51.6 Q 17.9 61.6 17.9 72.2 Q 17.9 82.8 20.5 92.9 Q 23.1 102.9 27.6 110.8 L 27.6 110.8 Q 28.6 112.5 28.6 113.6 L 28.6 113.6 Q 28.6 114.5 27.9 115.1 Z',
width: 32.2,
height: 100,
advanceWidth: 32.2,
},
')': {
path: 'M 8.3 115.2 Q 7.4 115.8 6.2 115.8 Q 5.0 115.8 4.3 115.1 Q 3.6 114.5 3.6 113.6 L 3.6 113.6 Q 3.6 112.5 4.6 110.8 L 4.6 110.8 Q 9.1 102.9 11.7 92.9 Q 14.3 82.8 14.3 72.2 Q 14.3 61.6 11.7 51.6 Q 9.1 41.5 4.6 33.6 L 4.6 33.6 Q 3.6 31.9 3.6 31.0 L 3.6 31.0 Q 3.6 29.9 4.4 29.3 Q 5.1 28.7 6.3 28.7 L 6.3 28.7 Q 7.4 28.7 8.3 29.2 Q 9.1 29.7 10.3 31.3 L 10.3 31.3 Q 22.9 48.0 22.9 72.2 L 22.9 72.2 Q 22.9 84.8 20.0 94.2 Q 17.0 103.6 10.5 113.0 L 10.5 113.0 Q 9.3 114.6 8.3 115.2 Z',
width: 32.2,
height: 100,
advanceWidth: 32.2,
},
'[': {
path: 'M 28.3 115.0 L 15.7 115.0 Q 13.1 115.0 11.6 113.4 Q 10.0 111.9 10.0 109.3 L 10.0 109.3 L 10.0 35.3 Q 10.0 32.7 11.6 31.1 Q 13.1 29.5 15.7 29.5 L 15.7 29.5 L 28.3 29.5 Q 29.8 29.5 30.8 30.4 Q 31.7 31.3 31.7 32.8 L 31.7 32.8 Q 31.7 34.3 30.8 35.3 Q 29.9 36.2 28.3 36.2 L 28.3 36.2 L 18.2 36.2 L 18.2 108.4 L 28.3 108.4 Q 29.9 108.4 30.8 109.3 Q 31.7 110.2 31.7 111.6 L 31.7 111.6 Q 31.7 113.1 30.8 114.1 Q 29.9 115.0 28.3 115.0 L 28.3 115.0 Z',
width: 32.2,
height: 100,
advanceWidth: 32.2,
},
']': {
path: 'M 16.6 115.0 L 16.6 115.0 L 3.9 115.0 Q 2.3 115.0 1.4 114.1 Q 0.5 113.1 0.5 111.6 L 0.5 111.6 Q 0.5 110.2 1.4 109.3 Q 2.3 108.4 3.9 108.4 L 3.9 108.4 L 14.0 108.4 L 14.0 36.2 L 3.9 36.2 Q 2.3 36.2 1.4 35.3 Q 0.5 34.3 0.5 32.8 L 0.5 32.8 Q 0.5 31.3 1.4 30.4 Q 2.4 29.5 3.9 29.5 L 3.9 29.5 L 16.6 29.5 Q 19.1 29.5 20.7 31.1 Q 22.2 32.7 22.2 35.3 L 22.2 35.3 L 22.2 109.3 Q 22.2 111.9 20.7 113.4 Q 19.1 115.0 16.6 115.0 Z',
width: 32.2,
height: 100,
advanceWidth: 32.2,
},
'/': {
path: 'M 4.1 116.9 L 4.1 116.9 Q 2.5 116.9 1.6 116.1 Q 0.6 115.2 0.6 113.8 L 0.6 113.8 Q 0.6 113.1 0.8 112.2 L 0.8 112.2 L 24.3 31.7 Q 25.2 28.7 28.0 28.7 L 28.0 28.7 Q 29.5 28.7 30.4 29.6 Q 31.3 30.5 31.3 31.9 L 31.3 31.9 Q 31.3 32.6 31.2 33.2 L 31.2 33.2 L 7.5 114.1 Q 6.7 116.9 4.1 116.9 Z',
width: 32.2,
height: 100,
advanceWidth: 32.2,
},
'&': {
path: 'M 59.7 100.9 L 59.7 100.9 Q 58.5 100.9 57.7 100.5 Q 56.8 100.1 55.9 99.0 L 55.9 99.0 L 50.1 92.9 Q 45.7 96.9 39.8 99.0 Q 33.9 101.2 27.6 101.2 L 27.6 101.2 Q 17.2 101.2 10.6 95.6 Q 4.0 90.0 4.0 81.3 L 4.0 81.3 Q 4.0 69.0 17.8 61.7 L 17.8 61.7 Q 20.4 60.4 20.5 60.4 L 20.5 60.4 Q 15.8 55.3 13.8 51.6 Q 11.8 47.9 11.8 44.0 L 11.8 44.0 Q 11.8 37.3 16.8 32.8 Q 21.9 28.4 29.5 28.4 L 29.5 28.4 Q 37.3 28.4 42.3 32.8 Q 47.4 37.3 47.4 44.1 L 47.4 44.1 Q 47.4 49.5 43.8 53.7 Q 40.3 57.9 32.3 62.2 L 32.3 62.2 L 49.7 81.0 Q 53.4 74.4 53.4 63.4 L 53.4 63.4 Q 53.4 61.4 54.4 60.2 Q 55.4 59.0 57.3 59.0 Q 59.1 59.0 60.2 60.2 Q 61.2 61.4 61.2 63.4 L 61.2 63.4 Q 61.2 78.1 55.4 86.9 L 55.4 86.9 L 61.8 93.6 Q 62.8 94.6 63.1 95.4 Q 63.5 96.1 63.5 97.2 L 63.5 97.2 Q 63.5 98.8 62.4 99.8 Q 61.3 100.9 59.7 100.9 Z M 27.6 57.2 L 27.6 57.2 Q 33.9 54.0 36.5 51.1 Q 39.2 48.1 39.2 44.4 L 39.2 44.4 Q 39.2 40.3 36.5 37.8 Q 33.8 35.3 29.6 35.3 L 29.6 35.3 Q 25.4 35.3 22.8 37.8 Q 20.1 40.4 20.1 44.5 L 20.1 44.5 Q 20.1 47.4 21.8 50.2 Q 23.5 53.1 27.6 57.2 Z M 28.4 93.8 L 28.4 93.8 Q 33.2 93.8 37.7 92.1 Q 42.2 90.3 45.0 87.3 L 45.0 87.3 L 25.2 65.6 Q 23.8 66.2 22.9 66.8 L 22.9 66.8 Q 17.4 70.2 15.0 73.4 Q 12.7 76.6 12.7 80.7 L 12.7 80.7 Q 12.7 86.6 17.0 90.2 Q 21.4 93.8 28.4 93.8 Z',
width: 66.9,
height: 100,
advanceWidth: 66.9,
},
'@': {
path: 'M 4.8 71.0 L 4.8 71.0 Q 4.8 61.8 7.8 54.1 Q 10.7 46.4 16.1 41.1 Q 21.4 35.8 28.9 32.9 Q 36.4 29.9 45.3 29.9 L 45.3 29.9 Q 56.5 29.9 65.4 34.4 Q 74.2 38.8 79.2 47.1 Q 84.3 55.5 84.3 66.5 L 84.3 66.5 Q 84.3 77.5 79.4 84.6 Q 74.5 91.7 66.3 91.7 L 66.3 91.7 Q 61.7 91.7 58.6 89.5 Q 55.5 87.4 55.0 83.7 L 55.0 83.7 L 54.6 83.7 Q 53.0 87.5 49.7 89.6 Q 46.4 91.7 42.1 91.7 L 42.1 91.7 Q 34.6 91.7 29.9 85.9 Q 25.2 80.1 25.2 70.9 L 25.2 70.9 Q 25.2 61.9 29.9 56.2 Q 34.6 50.5 41.9 50.5 L 41.9 50.5 Q 46.0 50.5 49.3 52.4 Q 52.5 54.2 54.0 57.4 L 54.0 57.4 L 54.4 57.4 L 54.4 54.5 Q 54.4 52.6 55.4 51.6 Q 56.4 50.5 58.1 50.5 Q 59.8 50.5 60.8 51.6 Q 61.8 52.6 61.8 54.5 L 61.8 54.5 L 61.8 80.1 Q 61.8 82.6 63.3 84.0 Q 64.7 85.3 67.5 85.3 L 67.5 85.3 Q 71.9 85.3 74.6 80.1 Q 77.4 75.0 77.4 66.8 L 77.4 66.8 Q 77.4 59.5 74.8 53.5 Q 72.3 47.6 67.8 43.8 Q 63.4 40.1 57.6 38.1 Q 51.8 36.1 45.2 36.1 L 45.2 36.1 Q 35.2 36.1 27.6 40.6 Q 19.9 45.0 15.8 53.0 Q 11.7 61.0 11.7 71.3 L 11.7 71.3 Q 11.7 82.0 16.2 89.7 Q 20.7 97.4 28.6 101.3 Q 36.6 105.2 47.2 105.2 L 47.2 105.2 Q 53.1 105.2 61.3 103.2 L 61.3 103.2 Q 62.3 102.9 63.0 102.9 L 63.0 102.9 Q 64.3 102.9 65.0 103.6 Q 65.7 104.2 65.7 105.4 L 65.7 105.4 Q 65.7 107.9 61.6 109.3 L 61.6 109.3 Q 54.9 111.4 45.6 111.4 L 45.6 111.4 Q 33.8 111.4 24.6 106.7 Q 15.4 102.0 10.1 92.8 Q 4.8 83.5 4.8 71.0 Z M 43.4 84.8 L 43.4 84.8 Q 48.3 84.8 51.3 81.0 Q 54.3 77.2 54.3 70.8 L 54.3 70.8 Q 54.3 64.6 51.3 61.0 Q 48.4 57.3 43.4 57.3 L 43.4 57.3 Q 38.5 57.3 35.8 60.9 Q 33.0 64.5 33.0 70.9 L 33.0 70.9 Q 33.0 77.4 35.7 81.1 Q 38.5 84.8 43.4 84.8 Z',
width: 87.5,
height: 100,
advanceWidth: 87.5,
},
'#': {
path: 'M 8.2 96.4 L 11.4 80.3 L 3.0 80.3 Q 1.7 80.3 0.8 79.4 Q 0.0 78.5 0.0 77.1 L 0.0 77.1 Q 0.0 75.4 1.0 74.4 Q 2.1 73.3 3.8 73.3 L 3.8 73.3 L 12.9 73.3 L 16.5 55.5 L 7.5 55.5 Q 6.2 55.5 5.3 54.6 Q 4.5 53.8 4.5 52.4 L 4.5 52.4 Q 4.5 50.7 5.5 49.6 Q 6.6 48.5 8.3 48.5 L 8.3 48.5 L 17.9 48.5 L 21.4 31.9 Q 22.1 28.7 25.0 28.7 L 25.0 28.7 Q 26.5 28.7 27.4 29.5 Q 28.3 30.3 28.3 31.8 L 28.3 31.8 Q 28.3 32.5 28.1 33.1 L 28.1 33.1 L 25.0 48.5 L 41.3 48.5 L 44.7 32.0 Q 45.4 28.7 48.3 28.7 L 48.3 28.7 Q 49.9 28.7 50.7 29.5 Q 51.6 30.3 51.6 31.8 L 51.6 31.8 Q 51.6 32.5 51.5 33.1 L 51.5 33.1 L 48.3 48.5 L 57.1 48.5 Q 58.4 48.5 59.3 49.4 Q 60.1 50.3 60.1 51.7 L 60.1 51.7 Q 60.1 53.4 59.1 54.4 Q 58.0 55.5 56.3 55.5 L 56.3 55.5 L 46.8 55.5 L 43.2 73.3 L 52.5 73.3 Q 53.9 73.3 54.7 74.2 Q 55.5 75.0 55.5 76.4 L 55.5 76.4 Q 55.5 78.1 54.5 79.2 Q 53.4 80.3 51.8 80.3 L 51.8 80.3 L 41.7 80.3 L 38.2 97.6 Q 37.5 100.9 34.6 100.9 L 34.6 100.9 Q 33.1 100.9 32.2 100.0 Q 31.3 99.2 31.3 97.7 L 31.3 97.7 Q 31.3 97.0 31.5 96.4 L 31.5 96.4 L 34.8 80.3 L 18.4 80.3 L 14.9 97.7 Q 14.2 100.9 11.3 100.9 L 11.3 100.9 Q 9.8 100.9 8.9 100.0 Q 8.0 99.2 8.0 97.7 L 8.0 97.7 Q 8.0 97.0 8.2 96.4 L 8.2 96.4 Z M 23.4 55.4 L 19.8 73.4 L 36.2 73.4 L 39.9 55.4 L 23.4 55.4 Z',
width: 60.4,
height: 100,
advanceWidth: 60.4,
},
$: {
path: 'M 32.3 107.0 Q 31.4 107.8 30.2 107.8 Q 28.9 107.8 28.1 107.0 Q 27.2 106.2 27.2 104.9 L 27.2 104.9 L 27.2 98.6 Q 19.5 97.9 13.8 94.1 Q 8.1 90.3 6.4 84.0 L 6.4 84.0 Q 6.1 82.9 6.1 81.8 L 6.1 81.8 Q 6.1 80.0 7.2 78.9 Q 8.3 77.8 10.1 77.8 L 10.1 77.8 Q 13.3 77.8 14.5 81.3 L 14.5 81.3 Q 17.2 89.8 27.2 91.0 L 27.2 91.0 L 27.2 67.7 L 26.1 67.4 Q 16.7 65.1 12.1 60.8 Q 7.4 56.4 7.4 49.4 L 7.4 49.4 Q 7.4 41.7 12.9 36.7 Q 18.4 31.7 27.2 31.0 L 27.2 31.0 L 27.2 24.7 Q 27.2 23.3 28.1 22.5 Q 28.9 21.7 30.2 21.7 Q 31.4 21.7 32.3 22.5 Q 33.1 23.3 33.1 24.7 L 33.1 24.7 L 33.1 30.9 Q 40.5 31.6 45.8 35.5 Q 51.2 39.4 52.9 45.5 L 52.9 45.5 Q 53.2 46.6 53.2 47.7 L 53.2 47.7 Q 53.2 49.5 52.1 50.6 Q 50.9 51.7 49.2 51.7 L 49.2 51.7 Q 45.9 51.7 44.8 48.2 L 44.8 48.2 Q 41.6 39.7 33.1 38.6 L 33.1 38.6 L 33.1 60.8 L 34.6 61.1 Q 44.4 63.5 49.3 67.8 Q 54.2 72.2 54.2 79.6 L 54.2 79.6 Q 54.2 85.3 51.3 89.5 Q 48.4 93.8 43.7 96.0 Q 39.0 98.2 33.1 98.6 L 33.1 98.6 L 33.1 104.9 Q 33.1 106.2 32.3 107.0 Z M 15.9 48.8 L 15.9 48.8 Q 15.9 52.6 18.6 55.3 Q 21.2 57.9 27.2 59.4 L 27.2 59.4 L 27.2 38.6 Q 21.9 39.3 18.9 42.2 Q 15.9 45.1 15.9 48.8 Z M 33.4 69.1 L 33.4 69.1 L 33.1 69.1 L 33.1 91.0 Q 39.6 90.5 42.7 87.6 Q 45.7 84.8 45.7 80.3 L 45.7 80.3 Q 45.7 76.0 43.0 73.4 Q 40.4 70.8 33.4 69.1 Z',
width: 60.4,
height: 100,
advanceWidth: 60.4,
},
'%': {
path: 'M 16.1 100.9 L 16.1 100.9 Q 14.6 100.9 13.7 100.1 Q 12.8 99.3 12.8 97.9 L 12.8 97.9 Q 12.8 96.7 13.6 95.6 L 13.6 95.6 L 36.5 62.8 L 58.7 30.8 Q 59.6 29.5 60.3 29.1 Q 61.0 28.7 62.1 28.7 L 62.1 28.7 Q 63.4 28.7 64.3 29.5 Q 65.2 30.3 65.2 31.5 L 65.2 31.5 Q 65.2 32.9 64.5 33.8 L 64.5 33.8 L 42.3 65.8 L 19.3 98.8 Q 18.6 100.0 17.8 100.4 Q 17.1 100.9 16.1 100.9 Z M 27.0 59.6 Q 23.3 64.5 16.8 64.5 Q 10.4 64.5 6.7 59.7 Q 3.1 54.9 3.1 46.6 L 3.1 46.6 Q 3.1 38.3 6.8 33.6 Q 10.4 28.8 16.8 28.8 Q 23.2 28.8 26.9 33.6 Q 30.6 38.3 30.6 46.6 Q 30.6 54.8 27.0 59.6 Z M 11.8 55.7 Q 13.6 58.9 16.8 58.9 Q 20.1 58.9 21.9 55.7 Q 23.7 52.5 23.7 46.6 L 23.7 46.6 Q 23.7 40.7 21.9 37.5 Q 20.1 34.3 16.8 34.3 Q 13.6 34.3 11.8 37.5 Q 10.0 40.7 10.0 46.6 L 10.0 46.6 Q 10.0 52.5 11.8 55.7 Z M 71.3 95.9 Q 67.6 100.7 61.2 100.7 Q 54.7 100.7 51.1 95.9 Q 47.4 91.2 47.4 82.9 L 47.4 82.9 Q 47.4 74.6 51.1 69.8 Q 54.8 65.1 61.2 65.1 Q 67.6 65.1 71.3 69.8 Q 75.0 74.6 75.0 82.9 Q 75.0 91.1 71.3 95.9 Z M 56.1 92.0 Q 57.9 95.2 61.2 95.2 Q 64.5 95.2 66.2 92.0 Q 68.0 88.8 68.0 82.9 L 68.0 82.9 Q 68.0 77.0 66.2 73.8 Q 64.4 70.6 61.2 70.6 Q 58.0 70.6 56.2 73.8 Q 54.3 77.0 54.3 82.9 L 54.3 82.9 Q 54.3 88.8 56.1 92.0 Z',
width: 78,
height: 100,
advanceWidth: 78,
},
'*': {
path: 'M 20.1 63.0 L 20.1 63.0 Q 18.6 63.0 17.7 62.1 Q 16.9 61.2 16.9 59.8 L 16.9 59.8 L 17.3 50.7 L 8.9 56.2 Q 8.1 56.7 7.0 56.7 L 7.0 56.7 Q 5.8 56.7 4.9 55.8 Q 4.1 55.0 4.1 53.6 L 4.1 53.6 Q 4.1 51.9 5.9 50.8 L 5.9 50.8 L 14.6 46.1 L 5.9 41.4 Q 4.1 40.3 4.1 38.6 L 4.1 38.6 Q 4.1 37.2 4.9 36.4 Q 5.8 35.5 7.0 35.5 L 7.0 35.5 Q 8.1 35.5 8.9 36.0 L 8.9 36.0 L 17.3 41.4 L 16.9 31.9 Q 16.9 30.4 17.7 29.5 Q 18.6 28.7 20.1 28.7 L 20.1 28.7 Q 21.5 28.7 22.3 29.5 Q 23.1 30.4 23.1 31.9 L 23.1 31.9 L 22.7 41.4 L 31.0 36.0 Q 31.8 35.5 32.9 35.5 L 32.9 35.5 Q 34.1 35.5 35.0 36.4 Q 35.9 37.2 35.9 38.6 L 35.9 38.6 Q 35.9 40.3 34.1 41.4 L 34.1 41.4 L 25.3 46.1 L 34.1 50.8 Q 35.9 51.9 35.9 53.6 L 35.9 53.6 Q 35.9 55.0 35.0 55.8 Q 34.1 56.7 32.9 56.7 L 32.9 56.7 Q 31.8 56.7 31.0 56.2 L 31.0 56.2 L 22.7 50.7 L 23.1 59.8 Q 23.1 61.3 22.3 62.1 Q 21.5 63.0 20.1 63.0 Z',
width: 40,
height: 100,
advanceWidth: 40,
},
'+': {
path: 'M 33.1 96.3 Q 32.0 97.5 30.2 97.5 Q 28.5 97.5 27.4 96.3 Q 26.3 95.1 26.3 93.3 L 26.3 93.3 L 26.3 76.2 L 10.1 76.2 Q 8.3 76.2 7.1 75.1 Q 5.9 74.0 5.9 72.2 Q 5.9 70.5 7.1 69.4 Q 8.3 68.3 10.1 68.3 L 10.1 68.3 L 26.3 68.3 L 26.3 51.1 Q 26.3 49.3 27.4 48.1 Q 28.5 46.9 30.2 46.9 Q 32.0 46.9 33.1 48.1 Q 34.2 49.3 34.2 51.1 L 34.2 51.1 L 34.2 68.3 L 50.3 68.3 Q 52.1 68.3 53.3 69.4 Q 54.5 70.5 54.5 72.2 Q 54.5 74.0 53.3 75.1 Q 52.1 76.2 50.3 76.2 L 50.3 76.2 L 34.2 76.2 L 34.2 93.3 Q 34.2 95.1 33.1 96.3 Z',
width: 60.4,
height: 100,
advanceWidth: 60.4,
},
'=': {
path: 'M 49.6 65.4 L 10.8 65.4 Q 9.1 65.4 8.0 64.3 Q 6.8 63.3 6.8 61.6 L 6.8 61.6 Q 6.8 59.9 8.0 58.9 Q 9.1 57.9 10.8 57.9 L 10.8 57.9 L 49.6 57.9 Q 51.4 57.9 52.5 58.9 Q 53.6 59.9 53.6 61.6 L 53.6 61.6 Q 53.6 63.3 52.5 64.3 Q 51.4 65.4 49.6 65.4 L 49.6 65.4 Z M 49.6 86.5 L 10.8 86.5 Q 9.1 86.5 8.0 85.5 Q 6.8 84.4 6.8 82.8 L 6.8 82.8 Q 6.8 81.1 8.0 80.0 Q 9.1 79.0 10.8 79.0 L 10.8 79.0 L 49.6 79.0 Q 51.4 79.0 52.5 80.0 Q 53.6 81.1 53.6 82.8 L 53.6 82.8 Q 53.6 84.4 52.5 85.5 Q 51.4 86.5 49.6 86.5 L 49.6 86.5 Z',
width: 60.4,
height: 100,
advanceWidth: 60.4,
},
'<': {
path: 'M 51.2 95.7 L 51.2 95.7 Q 50.1 95.7 48.5 95.0 L 48.5 95.0 L 11.0 78.0 Q 6.6 76.0 6.6 72.3 Q 6.6 68.6 10.9 66.6 L 10.9 66.6 L 48.5 49.5 Q 50.1 48.8 51.2 48.8 L 51.2 48.8 Q 52.9 48.8 54.0 49.9 Q 55.1 51.0 55.1 52.7 L 55.1 52.7 Q 55.1 55.5 52.0 56.8 L 52.0 56.8 L 16.7 71.7 L 16.7 72.2 L 52.0 87.6 Q 55.1 89.1 55.1 91.7 L 55.1 91.7 Q 55.1 93.5 54.0 94.6 Q 52.9 95.7 51.2 95.7 Z',
width: 60.4,
height: 100,
advanceWidth: 60.4,
},
'>': {
path: 'M 9.3 95.7 L 9.3 95.7 Q 7.6 95.7 6.5 94.6 Q 5.4 93.5 5.4 91.7 L 5.4 91.7 Q 5.4 89.0 8.5 87.6 L 8.5 87.6 L 43.7 72.7 L 43.7 72.3 L 8.5 56.8 Q 5.4 55.4 5.4 52.7 L 5.4 52.7 Q 5.4 51.0 6.5 49.9 Q 7.6 48.8 9.3 48.8 L 9.3 48.8 Q 10.4 48.8 11.9 49.5 L 11.9 49.5 L 49.5 66.5 Q 53.8 68.4 53.8 72.1 Q 53.8 75.8 49.5 77.8 L 49.5 77.8 L 11.9 95.0 Q 10.4 95.7 9.3 95.7 Z',
width: 60.4,
height: 100,
advanceWidth: 60.4,
},
'|': {
path: 'M 18.7 115.7 Q 17.7 116.8 16.1 116.8 Q 14.6 116.8 13.5 115.7 Q 12.5 114.6 12.5 113.0 L 12.5 113.0 L 12.5 32.5 Q 12.5 30.8 13.5 29.7 Q 14.6 28.7 16.1 28.7 Q 17.7 28.7 18.7 29.7 Q 19.7 30.8 19.7 32.5 L 19.7 32.5 L 19.7 113.0 Q 19.7 114.6 18.7 115.7 Z',
width: 32.2,
height: 100,
advanceWidth: 32.2,
},
}
interface SVGTextOptions {
fontSize?: number
fontWeight?: 'normal' | 'bold'
color?: string
letterSpacing?: number
lineHeight?: number
}
export function renderSVGText(
text: string,
x: number,
y: number,
options: SVGTextOptions = {},
): string {
const {
fontSize = 48,
fontWeight = 'normal',
color = 'white',
letterSpacing = 0,
lineHeight = 1.2,
} = options
const scale = fontSize / 100
const lines = text.split('\n')
let svgPaths = ''
lines.forEach((line, lineIndex) => {
let currentX = x
const currentY = y + lineIndex * fontSize * lineHeight
for (const char of line) {
const charData = HELVETICA_CHARACTERS[char] || HELVETICA_CHARACTERS[' ']
if (charData.path) {
const scaledPath = charData.path.replaceAll(/([\d.-]+)/g, (match) => {
const num = Number.parseFloat(match)
return (num * scale).toFixed(1)
})
svgPaths += `<g transform="translate(${currentX}, ${currentY})">`
svgPaths += `<path d="${scaledPath}" fill="${color}"`
if (fontWeight === 'bold') {
svgPaths += ` stroke="${color}" stroke-width="${1.5 * scale}"`
}
svgPaths += ' stroke-linejoin="round" />'
svgPaths += '</g>'
}
currentX += charData.advanceWidth * scale + letterSpacing
}
})
return svgPaths
}
export function measureSVGText(
text: string,
options: SVGTextOptions = {},
): { width: number; height: number } {
const { fontSize = 48, letterSpacing = 0, lineHeight = 1.2 } = options
const scale = fontSize / 100
const lines = text.split('\n')
let maxWidth = 0
const height = lines.length * fontSize * lineHeight
lines.forEach((line) => {
let lineWidth = 0
for (const char of line) {
const charData = HELVETICA_CHARACTERS[char] || HELVETICA_CHARACTERS[' ']
lineWidth += charData.advanceWidth * scale + letterSpacing
}
maxWidth = Math.max(maxWidth, lineWidth - letterSpacing)
})
return { width: maxWidth, height }
}
export function wrapSVGText(
text: string,
maxWidth: number,
options: SVGTextOptions = {},
): string {
const words = text.split(' ')
const lines: string[] = []
let currentLine = ''
for (const word of words) {
const testLine = currentLine ? `${currentLine} ${word}` : word
const { width } = measureSVGText(testLine, options)
if (width <= maxWidth) {
currentLine = testLine
} else {
if (currentLine) {
lines.push(currentLine)
currentLine = word
} else {
lines.push(word)
}
}
}
if (currentLine) {
lines.push(currentLine)
}
return lines.join('\n')
}