Skip to content

Commit 6695962

Browse files
committed
use custom font for suit symbols
1 parent 8867da4 commit 6695962

24 files changed

+1272
-14
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
attic

assets/FONTS.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Suit font
2+
3+
Suit font was created in following steps, documented here for the purpose of maintenance:
4+
5+
1. Isolate suit symbols from Chris Aguilar's [vectorized-playing-cards](http://code.google.com/p/vectorized-playing-cards/) SVG files as individual SVG files of same dimensions as Arial suit characters in points (height of 2048 and varying widths).
6+
7+
2. Using trial version of [Glyphs](http://glyphsapp.com/) for Mac, created new font with same metrics.
8+
9+
3. Create four new glyphs mapped to appropriate Unicode codepoints (spade=U+2660,club= U+2663, heart=U+2665, diamond=U+2666).
10+
11+
4. Import suit symbols in SVG format to corresponding glyphs then position them to approximately same position as Arial suit characters.
12+
13+
5. Save as `suite.glyphs` and Export to `Suit-Regular.otf` file.
14+
15+
6. Use [CodeAndMore @font-face generator](http://fontface.codeandmore.com/) to convert `Suit-Regular.otf` to a set `@font-face` compatible set of font files.
16+

assets/Suit-Regular.otf

1.66 KB
Binary file not shown.

assets/Suit.glyphs

Lines changed: 222 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,222 @@
1+
{
2+
date = "2012-10-11 19:06:13 +0000";
3+
familyName = "Suit";
4+
fontMaster = (
5+
{
6+
ascender = 1491;
7+
capHeight = 1467;
8+
customParameters = (
9+
{
10+
name = TypoAscender;
11+
value = 1491;
12+
},
13+
{
14+
name = TypoDescender;
15+
value = "-431";
16+
},
17+
{
18+
name = postscriptUnderlinePosition;
19+
value = "-217";
20+
}
21+
);
22+
descender = "-431";
23+
id = "0F06F2DC-35B2-453E-9B4A-C1D327514268";
24+
weightValue = 400;
25+
widthValue = 5;
26+
xHeight = 1062;
27+
}
28+
);
29+
glyphs = (
30+
{
31+
glyphname = clubsuitblack;
32+
lastChange = "2012-10-11 12:52:39 -0700";
33+
layers = (
34+
{
35+
layerId = "0F06F2DC-35B2-453E-9B4A-C1D327514268";
36+
name = Regular;
37+
paths = (
38+
{
39+
closed = 1;
40+
nodes = (
41+
"578 123 OFFCURVE",
42+
"623 250 OFFCURVE",
43+
"629 384 CURVE",
44+
"637 435 OFFCURVE",
45+
"606 435 OFFCURVE",
46+
"603 398 CURVE",
47+
"516 67 OFFCURVE",
48+
"50 157 OFFCURVE",
49+
"67 471 CURVE SMOOTH",
50+
"81 724 OFFCURVE",
51+
"334 780 OFFCURVE",
52+
"466 696 CURVE SMOOTH",
53+
"516 665 OFFCURVE",
54+
"513 685 OFFCURVE",
55+
"485 716 CURVE SMOOTH",
56+
"289 935 OFFCURVE",
57+
"410 1216 OFFCURVE",
58+
"674 1221 CURVE",
59+
"960 1205 OFFCURVE",
60+
"1033 901 OFFCURVE",
61+
"859 724 CURVE SMOOTH",
62+
"836 705 OFFCURVE",
63+
"789 634 OFFCURVE",
64+
"859 685 CURVE",
65+
"1039 809 OFFCURVE",
66+
"1283 674 OFFCURVE",
67+
"1277 480 CURVE SMOOTH",
68+
"1269 123 OFFCURVE",
69+
"834 95 OFFCURVE",
70+
"738 396 CURVE",
71+
"730 427 OFFCURVE",
72+
"704 443 OFFCURVE",
73+
"713 387 CURVE SMOOTH",
74+
"724 286 OFFCURVE",
75+
"752 132 OFFCURVE",
76+
"828 0 CURVE",
77+
"516 0 LINE"
78+
);
79+
}
80+
);
81+
width = 1344;
82+
}
83+
);
84+
unicode = 2663;
85+
},
86+
{
87+
glyphname = diamond;
88+
lastChange = "2012-10-11 13:02:34 -0700";
89+
layers = (
90+
{
91+
layerId = "0F06F2DC-35B2-453E-9B4A-C1D327514268";
92+
name = Regular;
93+
paths = (
94+
{
95+
closed = 1;
96+
nodes = (
97+
"268 792 OFFCURVE",
98+
"403 1010 OFFCURVE",
99+
"531 1219 CURVE",
100+
"644 989 OFFCURVE",
101+
"806 787 OFFCURVE",
102+
"981 592 CURVE",
103+
"794 398 OFFCURVE",
104+
"649 191 OFFCURVE",
105+
"532 -26 CURVE",
106+
"403 197 OFFCURVE",
107+
"266 399 OFFCURVE",
108+
"63 592 CURVE",
109+
"63 592 LINE"
110+
);
111+
}
112+
);
113+
width = 1045;
114+
}
115+
);
116+
unicode = 2666;
117+
},
118+
{
119+
glyphname = heartsuitblack;
120+
lastChange = "2012-10-11 12:56:27 -0700";
121+
layers = (
122+
{
123+
layerId = "0F06F2DC-35B2-453E-9B4A-C1D327514268";
124+
name = Regular;
125+
paths = (
126+
{
127+
closed = 1;
128+
nodes = (
129+
"498 1244 OFFCURVE",
130+
"581 1108 OFFCURVE",
131+
"597 1000 CURVE",
132+
"607 983 OFFCURVE",
133+
"613 988 OFFCURVE",
134+
"616 1001 CURVE",
135+
"624 1139 OFFCURVE",
136+
"748 1252 OFFCURVE",
137+
"862 1237 CURVE",
138+
"1048 1234 OFFCURVE",
139+
"1161 1027 OFFCURVE",
140+
"1130 882 CURVE SMOOTH",
141+
"1084 667 OFFCURVE",
142+
"975 538 OFFCURVE",
143+
"888 405 CURVE",
144+
"789 268 OFFCURVE",
145+
"656 69 OFFCURVE",
146+
"613 -26 CURVE",
147+
"613 -26 OFFCURVE",
148+
"478 179 OFFCURVE",
149+
"302 421 CURVE SMOOTH",
150+
"184 583 OFFCURVE",
151+
"92 759 OFFCURVE",
152+
"81 910 CURVE SMOOTH",
153+
"71 1052 OFFCURVE",
154+
"142 1207 OFFCURVE",
155+
"338 1234 CURVE",
156+
"338 1234 LINE"
157+
);
158+
}
159+
);
160+
width = 1216;
161+
}
162+
);
163+
unicode = 2665;
164+
},
165+
{
166+
glyphname = spadesuitblack;
167+
lastChange = "2012-10-11 12:50:03 -0700";
168+
layers = (
169+
{
170+
layerId = "0F06F2DC-35B2-453E-9B4A-C1D327514268";
171+
name = Regular;
172+
paths = (
173+
{
174+
closed = 1;
175+
nodes = (
176+
"503 401 OFFCURVE",
177+
"469 401 OFFCURVE",
178+
"472 373 CURVE SMOOTH",
179+
"469 227 OFFCURVE",
180+
"344 154 OFFCURVE",
181+
"252 170 CURVE SMOOTH",
182+
"112 198 OFFCURVE",
183+
"68 336 OFFCURVE",
184+
"70 417 CURVE SMOOTH",
185+
"73 670 OFFCURVE",
186+
"328 855 OFFCURVE",
187+
"557 1177 CURVE",
188+
"724 886 OFFCURVE",
189+
"1000 657 OFFCURVE",
190+
"1016 433 CURVE SMOOTH",
191+
"1040 133 OFFCURVE",
192+
"659 22 OFFCURVE",
193+
"604 370 CURVE SMOOTH",
194+
"602 393 OFFCURVE",
195+
"573 407 OFFCURVE",
196+
"576 370 CURVE SMOOTH",
197+
"583 276 OFFCURVE",
198+
"570 234 OFFCURVE",
199+
"680 1 CURVE",
200+
"398 1 LINE",
201+
"461 110 OFFCURVE",
202+
"498 245 OFFCURVE",
203+
"503 362 CURVE SMOOTH"
204+
);
205+
}
206+
);
207+
width = 1088;
208+
}
209+
);
210+
unicode = 2660;
211+
}
212+
);
213+
disablesNiceNames = 1;
214+
instances = (
215+
{
216+
name = Regular;
217+
}
218+
);
219+
unitsPerEm = 2048;
220+
versionMajor = 1;
221+
versionMinor = 1;
222+
}

assets/club.svg

Lines changed: 9 additions & 0 deletions
Loading

assets/diamond.svg

Lines changed: 7 additions & 0 deletions
Loading

assets/fonts/suit-regular.eot

2.4 KB
Binary file not shown.

assets/fonts/suit-regular.html

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2+
<html xmlns="http://www.w3.org/1999/xhtml">
3+
<head>
4+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5+
<title>CodeAndMore @font-face Demo</title>
6+
<style type="text/css">
7+
@font-face {
8+
font-family: 'Suit-Regular';
9+
src: url('fonts/suit-regular.eot');
10+
src: url('fonts/suit-regular.eot?#iefix') format('embedded-opentype'),
11+
url('fonts/suit-regular.woff') format('woff'),
12+
url('fonts/suit-regular.ttf') format('truetype'),
13+
url('fonts/suit-regular.svg#suit-regular') format('svg');
14+
font-weight: normal;
15+
font-style: normal;
16+
}
17+
</style>
18+
</head>
19+
20+
<body style="font-family:'Suit-Regular'; padding: 20px; text-align: center;">
21+
<p style="font-size: 1em">&spades;&clubs;&hearts;&diams;</p>
22+
<p style="font-size: 2em">&spades;&clubs;&hearts;&diams;</p>
23+
<p style="font-size: 3em">&spades;&clubs;&hearts;&diams;</p>
24+
<p style="font-size: 4em">&spades;&clubs;&hearts;&diams;</p>
25+
<p>Created by <a href="http://fontface.codeandmore.com">@font-face generator</a> on <a href="http://codeandmore.com">CodeAndMore</a> based on open source tools.</p>
26+
</body>
27+
</html>
28+

assets/fonts/suit-regular.svg

Lines changed: 13 additions & 0 deletions
Loading

assets/fonts/suit-regular.ttf

2.16 KB
Binary file not shown.

assets/fonts/suit-regular.woff

1.61 KB
Binary file not shown.

assets/heart.svg

Lines changed: 8 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)