341 Commits

Author SHA1 Message Date
Ben Harris
fcbb3c8d90 Minimally-functional code for expanding dots.
It takes a little bit of effort to avoid segfaulting FontForge, and so
currently Bedstead Plotter Thin has dots in the middle of its dots.
These probably shouldn't stay.
2018-03-08 22:33:36 +00:00
Ben Harris
f438f9ad7e strokefont: Slightly clean up chiseltip invocation 2018-03-06 21:39:47 +00:00
Ben Harris
12127d0a04 strokefont.py: Set SFNT "Preferred Family"
At present, this is just the same as the family name.
2018-03-06 21:35:35 +00:00
Ben Harris
dd3c9d4845 Skeleton code for adjusting dots in plotter fonts.
In light fonts, they end up almost invisible, but I have a plan.
2018-03-03 20:46:26 +00:00
Ben Harris
c19d2ab747 Start a collection of links to articles about character design.
Happily, type designers seem to love talking about their languages'
unique letters.
2018-01-03 23:01:46 +00:00
Ben Harris
04bc584c97 Slight tweak to "AE": move crossbar of "A" part down 1 pixel.
That puts it in the same place as in the "A" proper, and aligns with
the advice here:

https://medium.com/@frodefrodefrode/designing-the-letter-%C3%A6-862cffbe22b

"The crossbars are not usually aligned in typographic typefaces ..."
2018-01-03 21:50:03 +00:00
Ben Harris
4b4dac09bf Add a temporary makefile target for experimental fonts. 2017-11-27 00:09:28 +00:00
Ben Harris
6120176259 Complete the set of circled and squared plus, minus, and dot. 2017-11-26 23:33:06 +00:00
Ben Harris
a287174507 Add a couple of upside-down characters. 2017-11-26 23:26:58 +00:00
Ben Harris
43c895f9ac When stroking a font, adjust the BlueValues accordingly. 2017-11-26 22:53:00 +00:00
Ben Harris
049d92d5f2 Add prime and double-prime glyphs.
Not the prettiest, but they're visually distinct from apostrophes and
accents.
2017-11-26 16:20:14 +00:00
Ben Harris
f1f7599854 Add therefore and because symbols. 2017-11-26 15:48:33 +00:00
Ben Harris
7174e3015b Add white left and right triangles. 2017-11-26 15:28:53 +00:00
Ben Harris
474ef418ce Add mathematical diamond shapes. 2017-11-26 15:21:36 +00:00
Ben Harris
be454b1d55 Add gratuitous cube root and fourth root symbols. 2017-11-26 14:42:34 +00:00
Ben Harris
ee8a8325ad Add assorted mathematical vertical lines. 2017-11-26 13:54:45 +00:00
Ben Harris
ffc5a9de9c Add mathematical ellipsis characters. 2017-11-26 13:42:13 +00:00
Ben Harris
64dd2d9a28 Two-level brace and summation characters.
The braces are a compromise, since each glyph has to be usable as both
the top and bottom half of a brace.
2017-11-26 12:20:11 +00:00
Ben Harris
fe017bcbc3 Be consistent in capitalisation of block heading comments.
I use sentence case for these where the Unicode standard uses title
case.
2017-11-26 12:02:59 +00:00
Ben Harris
f1bac5326e Add the various long bracket components.
All are derived simply by lengthening the vertical parts of the
standard glyphs.
2017-11-26 12:00:51 +00:00
Ben Harris
efa7c75586 Correct the name of ordfeminine in df.ps as well. 2017-11-26 10:30:55 +00:00
Ben Harris
fcd5771e00 New, better invsmileface glyph. 2017-11-26 10:28:55 +00:00
Ben Harris
2536b614a2 Python 3 compatibility for the editor.
It still works in Python 2.7 as well.
2017-11-26 10:21:52 +00:00
Ben Harris
c33fc255ec New unhappy face glyph.
It was the only missing face in the BMP.
2017-11-26 10:04:37 +00:00
Ben Harris
5723961091 U+2126 OHM SIGN 2017-11-24 22:20:25 +00:00
Ben Harris
88348059ee Add U+2044, "fraction".
I think that completes StandardEncoding.
2017-11-24 22:04:13 +00:00
Ben Harris
f09162f992 Assorted accents from StandardEncoding. 2017-11-24 22:00:40 +00:00
Ben Harris
c3842c2963 Add "fi" and "fl" ligatures.
Not actually enabled as ligatures, since that would be silly, but some
character sets want them as presentation forms.
2017-11-24 21:38:42 +00:00
Ben Harris
08e561d2e3 Add capital schwa glyph.
I keep seeing it in Commons filenames written in Azerbaijani.
2017-11-21 22:50:02 +00:00
Ben Harris
458304cb30 Add partialdiff glyph.
It's part of Mac Roman, and probably some other interesting encodings.
2017-11-21 22:17:37 +00:00
Ben Harris
fc04f77124 Add the tab-key glyph.
Because it's just about possible.
2017-11-21 11:43:30 +00:00
Ben Harris
f26a79bb56 Subset and superset symbols.
The proper subset symbol is only slightly different from lower-case C,
but I think that's inevitable.
2017-11-21 11:28:15 +00:00
Ben Harris
c9d168e234 Large mathematical operators: summation, product, and integral.
All of these span the full height of the character cell, since that way 
they'll work equally badly with subscripts and superscripts.
2017-11-21 11:21:35 +00:00
Ben Harris
75e04065fb A tolerable perthousand sign.
I've made so many bad attempts at this character that this feels like
a win.  Also, it's an annoyingly common character in character sets
I'd like to cover.
2017-11-06 00:50:16 +00:00
Ben Harris
a0feec7f38 Improve nib shape for Bedstead Chiseltip.
It's now an integer approximation to the original 20° 100×50 rectangle
that I first used.
2017-08-18 22:46:41 +01:00
Ben Harris
ebceeb0166 Set underline width for stroked fonts. 2017-08-18 22:46:18 +01:00
Ben Harris
6270d56611 Set the "H" flag on all glyphs in SFD files.
This turns out to  be all it takes to get  FontForge to autohint fonts
on generation.  FontForge's autohinter  isn't perfect, but it's pretty
good and certainly better than anything else I've got.
2017-08-12 10:11:28 +01:00
Ben Harris
b83df76033 strokefont: Better font name handling
This gets the PostScript names right.  TTF names are more difficult.
2017-08-12 10:05:52 +01:00
Ben Harris
f7290084a3 strokefont: Set StdHW and StdVW appropriately to pen. 2017-08-12 09:41:01 +01:00
Ben Harris
9a93b07e13 Makefile machinery for stroked fonts. 2017-08-12 09:36:43 +01:00
Ben Harris
f43c450449 strokefont: More object-oriented approach.
Now we have one class for each broad class of stroked font.  I think
this will be easier to manage.
2017-08-12 09:25:56 +01:00
Ben Harris
2c5fc3b5bc Beginnings of a script to stroke fonts.
The plan is that bedstead.c will produce a single-path font and then
this script will stroke it in various ways, adapting the font metadata
appropriately.
2017-08-12 00:04:22 +01:00
Ben Harris
63b418811a A scattering of additional characters from Latin Extended-A. 2017-08-09 23:25:04 +01:00
Ben Harris
7864d4d1c8 Clip character names to boxes in glyph complement.
Ideally, I'd do something more elegant with over-long glyph names, but
at least keeping them in the boxes doesn't look terrible.
2017-08-09 22:23:48 +01:00
Ben Harris
6a099893dd Add U+0149, "napostrophe".
That's the only character that Font Library says is missing for
supporting Afrikaans, so I may as well implement it even if Unicode
does say its use is strongly discouraged.
2017-08-09 22:03:56 +01:00
Ben Harris
051d1c662c Emit open contours starting at the beginning.
Before this change, emit_path() would emit contours starting at
whichever point was earliest in the points array.  That was fine for
closed contours, but it meant the open contours tended to be emitted
in multiple parts.  Now it first searches for start points of open
contours and emits those, and then does what it used to do to emit the
remaining (closed) ones.  This has no effect (other than to slow
things down a bit) for fully-closed paths like those in outline
versions of Bedstead, but it makes the stroked ones much cleaner.  Now
a contour can only end at a tip or at a 3-way junction.
2017-08-08 23:23:55 +01:00
Ben Harris
82d22a5289 It's the future: C has a boolean type. 2017-08-08 22:26:58 +01:00
Ben Harris
bc10355aa5 Extract code to emit a single contour from emit_path().
I want to make emit_path() more complex, so pulling out this obvious
unit seems wise.
2017-08-08 22:25:05 +01:00
Ben Harris
bfd3fbdbf7 Quick note on patent describing character rounding technique. 2017-08-08 22:12:59 +01:00
Ben Harris
9a7866ad1b Additional characters for Polish.
Thanks to <http://www.twardoch.com/download/polishhowto/> for
guidance.  All misinterpretations are my own.  One character is
missing because I still don't have a good way to do an accented
capital S.
2017-08-08 01:33:16 +01:00