Accurate?

jlberlin's picture

The css file calls this web font 'Accurate' but that doesn't seem right.. any ideas?

http://accurateit.dk/work.php

hrant's picture

I wonder if it's a modification.

hhp

jlberlin's picture

Akira, I think you're right. Thanks!

HVB's picture

hhp - Good question. I come across hundreds of fonts (mainly in pdfs) that have names that are almost, but not quite the same as well-known faces. Sometimes they are corporate licensed variations, such as NYTLyon used by the NYTimes, but many others, like the one cited in this thread, seem arbitrary. I wonder whether they have been modified, then renamed to avoid confusion, renamed to bypass embedding restrictions, or whatever. In any case, the alterations may or may not be legal or ethical; I know of no way to know which is which. - Herb

hrant's picture

I know of no way to know which is which.

Ask the original designer. And if it's not an authorized derivation you've killed two birds with one stone... :-)

Actually ask the people who made it first: you might get some nice self-incriminating statements. :-)

hhp

Michel Boyer's picture

On the site above, the filename is Accurate.ttf but the font name is Akkurat.

Here is an instance (from some other site) where my Safari inspector shows only something looking like a serial number

c5980c7c-4394-47d6-b6dd-ccf0c0e53944

instead of the font name (and the font is legit, licensed by Font Bureau). The culprit here seems to be the web inspector: it should display the font name, not some irrelevant information like a filename of some weird combination of digits and letters (which, in fact, is also the filename).

hrant's picture

Wait a second, there's a way to embed serial numbers into fonts? That's Holy Grail stuff, man! How do I do it?

hhp

Michel Boyer's picture

In the Name Table you can use Name ID 13 for licensing information and, why not, add a serial number and other relevant information for a particular use.

13 License Description; description of how the font may be legally used, or different example scenarios for licensed use. This field should be written in plain language, not legalese.

hrant's picture

Sure, manually. What I'm hoping for is a way to insert a unique serial number into that field* automatically when somebody buys/downloads a font.

* And is that where the Safari inspector is getting it?

hhp

Michel Boyer's picture

No, Safari is simply displaying the filename which is not identical to the serial number. The main problem is generating unique serial numbers and keeping track of the licensees. Automatically adding that information to the font should pose no problem.

hrant's picture

1) So in the case you cited above, the font's actual filename looked like a serial number but wasn't*, and that's what Safari's inspector displayed?
2) Is it really that hard to generate a unique serial number when somebody downloads something (and index that with other info from the downloading party)? I would think automatically inserting the serial number into the font file would be harder. How would you do it?

* Perhaps this number is mapped to the actual serial number in a database. Why make them different? Maybe so third parties can't know the serial number?

hhp

oldnick's picture

Hrant,

Elsewhere I suggested that ttx could be used for this purpose…

hrant's picture

I posit that there's a decent market for a utility that splices unique serial number generation/indexing/insertion into a font e-commerce setup.

hhp

Michel Boyer's picture

Elsewhere I suggested that ttx could be used for this purpose…

That looks like the most simple way to do it. You just apply "ttx -t name" to your font file to get filename.ttx. If your field 13 (there are two occurrences of it) is something like

----
Abracadabra licensed
----

you replace it with something like

----
Abracadabra licensed Serial Number: SSEERRIIAALL
----

and then if you have some file serials.txt with serial numbers, say

----
AB1234CD56
EV3144EF45
----

executing the script

----
for i in `cat serials.txt` 
do 
  sed "s/SSEERRIIAALL/$i/" filename.ttx > $i.ttx
  ttx -m filename.ttf $i.ttx
done
----

will produce the files AB1234CD56.ttf and EV3144EF45.ttf with those serial numbers inside (one font file per line in serials.txt).

Even for something more complicated, I don't think you need an xml parser; sed and ttx can do the job.

Jens Kutilek's picture

ttx is a Python program, so it would be even easier to use pure Python to modify the font files.

from fontTools.ttLib import TTFont

mySerial = "MYS3R14LNUM3ER"
f = TTFont("myfont.otf")
for n in f["name"].names:
	if n.nameID == 13:
		if n.platformID == 1 and n.platEncID == 0:
			n.string = mySerial.encode('mac_roman')
		if n.platformID == 3 and n.platEncID == 1:
			n.string = mySerial.encode('utf_16_be')
f.save("myfont_personalized.otf")

(untested code)

Michel Boyer's picture

After removing one level of indentation, your code works fine with AFDKOPython (2.7.1).

hrant's picture

Wow guys, great stuff.

hhp

Jens Kutilek's picture

I’ve updated the code with the correct indentation.

Of course the code only works if a name ID 13 is already present in the font. I’m not sure if the name table is the best place to store such information.

Perhaps you could make up your own custom sfnt table format. If you add an »unknown« table to a font, I think tools that don’t understand it are required by the spec to ignore it but keep it in the font.

For WOFFs, you could store this in the »private data« block, but that is likely to be stripped when someone converts the font.

Syndicate content Syndicate content