So..... Still trying to upload a font to Myfonts using Prosper. I managed to upload one, faking all WinAscent and WinDescent values. Now I have a brush font that won't upload because the 'winding directions are incorrect':
I get this message (and a big red cross):
"To ensure proper functionality for customers, the paths in your glyphs must have correct winding directions. Wrong path directions can mess up counters. Paths need to be oriented counter-clockwise, counters need to be oriented clockwise."
Any idea how to solve this one? I have never ever heard of this and it never ever was a problem before. I can't find a lot about it on the internet, so any help will be appreciated!
0
Comments
This is the original setting:
WinAscent=897, WinDescent= -193
I turned them into these values:
It works. Prosper even gave me a blue 'kudos' sign for my trouble!
;-)))
Why not see what the results are of letting FontLab generate a value automatically? At least that could give you some clues, and perhaps let you choose less extreme values.
#FLM: ReType Complete Real Asc/Desc V 2.0
# Find and fill real asc and desc values in all open fonts
import operator
from robofab.world import AllFonts
max_Y_values = {}
min_Y_values = {}
for font in AllFonts():
for x in font:
if x.name != 'Aringacute':
max_Y_values[x.name + " in " + font.info.postscriptFullName] = x.box[3]
min_Y_values[x.name+ " in " + font.info.postscriptFullName] = x.box[1]
WinAscend = max(max_Y_values.iteritems(), key=operator.itemgetter(1))[1]
WinDescend = min(min_Y_values.iteritems(), key=operator.itemgetter(1))[1]
Ascender = font.info.ascender
Descender = font.info.descender
Gap = (Ascender + abs(Descender)) - (WinAscend + abs(WinDescend))
for font in AllFonts():
font.info.openTypeOS2WinAscent = WinAscend
font.info.openTypeOS2WinDescent = abs(WinDescend)
font.info.openTypeOS2TypoAscender = Ascender
font.info.openTypeOS2TypoDescender = Descender
font.info.openTypeHheaAscender = WinAscend
font.info.openTypeHheaDescender = -abs(WinDescend)
font.info.openTypeHheaLineGap = 0
font.info.openTypeOS2TypoLineGap = abs(Gap)
print
print "In all open fonts:"
print
print "The maximun Y value is: " + str(WinAscend) + " from " + max(max_Y_values.iteritems(), key=operator.itemgetter(1))[0]
print "The minimum Y value is: " + str(WinDescend) + " from " + min(min_Y_values.iteritems(), key=operator.itemgetter(1))[0]
print "TypoLineGap is: " + str(abs(Gap))perator.itemgetter(1))[0]
As soon as you get overlapping paths (not just one inside another, but overlapping), winding direction can cause you trouble in some formats and rasterizers, either in general or at least at some sizes (see below).
Add in also some interior counters and possibly wrap it in a variable font (or fonts derived from variable fonts) where at some points in the design space a contour may effectively be a placeholder ... then even a pretty smart rasterizer could have difficulty determining what is supposed to be black and what is not. This is where the designer needs to have the option to have a contour entirely inside another, but both be filled.
Also, be aware that with some environments and formats, you might get different rasterizers in the same app depending on UPM, background color, and other variables. For example, last time I knew for sure, the core rendering engine used by most Adobe apps (including Acrobat and InDesign) would exhibit at least FOUR different rendering modes at different ppem sizes on screen. PostScript similarly has multiple rendering modes.
IIRC, predicting which rendering you would get was not always practical, as in some cases it could depend on available memory.
And save your vfc. This should completely solve the problem.
Usually, one keeps outlines in one or the other format,
When converting to TrueType, FontLab will reverse the contour direction, as a standard part of that. So, if you are editing the contours with PostScript-style outlines, and only exporting as TrueType, you keep the PostScript direction in your file.
By default FL7 using PostScript outlines, so in this case, the right way is to using PostScript direction. Just figured out that I never used TrueType outlines, may be because Illustrator has PostScript-style handles and it is more familiar.
So even if TrueType is the primary or sole output format, most type designers still use PostScript outlines well into editing, at least—and often even as the permanent source format.
Outline format and hinting approach are independent in FontLab. You can do TT-style hints on PS outlines or vice versa. The outlines can be converted at export time.