Watermarking Fonts - Which Metadata Table is Best?
Stuart Sandler
Posts: 363
If I wanted to embed a static watermark in my fonts (mostly to determine the distribution source) what would be the best metadata table to use in the font file to store this information?
I'm not looking for other methods of watermarking, I'm mostly looking at the least used metadata tables that just aren't frequently used or used at all.
Or, is a better approach just to create a new metadata table entry just for this and if so, what number would that start at?
Thanks in advance,
Stuart
I'm not looking for other methods of watermarking, I'm mostly looking at the least used metadata tables that just aren't frequently used or used at all.
Or, is a better approach just to create a new metadata table entry just for this and if so, what number would that start at?
Thanks in advance,
Stuart
0
Comments
-
You can create your own table using fonttools with any information you need.
2 -
Maybe a distributor-specific string added to one of the name tables (7-14?) could also work, but is a little more obvious.
0 -
I [would] embed the mark into the font contours themselves (which can actually be done without affecting the contour rendering). Tables are obvious and can be stripped out, but virtually nobody who's unscrupulous will bother discovering your little telltale data...0
-
Add an unencoded empty glyph with the code in the glyph name.2
-
I was going through my font library the other day to test a validation tool I'm working on, and found that it failed on this one:
simon@Simons-iMac ~/Library/Fonts x*$ ttx -l SyrCOMTalada.ttf Listing table info for "SyrCOMTalada.ttf": tag checksum length offset ---- ---------- -------- -------- GDEF 0x00000000 114 92024 GPOS 0x00000000 7382 95112 GSUB 0x00000000 578 90704 OS/2 0xB1108074 86 348 TSI© 0xCA34B56D 33 436
Hmm, OK, checksums for GDEF, GPOS, GSUB are wr... what the heck is that?
simon@Simons-iMac ~/Library/Fonts x*$ otfsurgeon -i SyrCOMTalada.ttf dump 'TSI©' � 1989-1994, Type Solutions, Inc.%
0 -
To be sure, I'd only like to do this using name tables, I was mostly curious which ones are least used name tables that may make a good spot to add some sort of quid.0
-
Ray Larabie said:Add an unencoded empty glyph with the code in the glyph name.0
-
Vendors are free to use name IDs 256 - 32767 in the 'name' table for any purpose.
https://docs.microsoft.com/en-us/typography/opentype/spec/name#name-ids
0 -
Sorry for the slight offtopic—I am interested to know more about the actual use case of this watermark @Stuart Sandler You said "mostly to determine the distribution source".
But how the whole situation goes, i.e. you spot your font on a pirate site and would like to check where it is bought...or something else?0 -
Something else Igor, just looking for areas of the font that I can store data that won't generally be seen or seen obviously.1
-
@Igor Petrovic I think it can be useful to be able to trace who gave it to them...
@Stuart Sandler What better place than the outlines themselves? :-) Virtually undetectable, too much trouble to remove.1 -
@Hrant H. Papazian I totally agree but am looking for something more automated which is why the metadata felt like an easy win
1 -
@Stuart Sandler Ah, makes sense. I wonder if there could be a plug-in that takes a straight line in some glyph and adds inward handles that encode the data.0
-
One more consideration that applies to anywhere you end up adding your metadata. Add it in an encrypted form. That way some gibberish somewhere in the font won't be as easily detected as watermark and removed, as opposed to someone seeing a more obvious plaintext watermark.Also note that some webfonts have their name tables wiped, for the most part, so your watermark might get dropped in the process.I wonder if someone here has experience with DSIG certificates? Could that be used to sign the fonts with a different certificate for each distributors? Then again, DSIG tables can be dropped, too, without impact to the font's functionality.0
-
Encrypt morse code into a glyph outline using curve / non-curve points sequence.1
-
Hrant H. Papazian said:@Stuart Sandler Ah, makes sense. I wonder if there could be a plug-in that takes a straight line in some glyph and adds inward handles that encode the data.1
-
Johannes Neumeier said:Also note that some webfonts have their name tables wiped, for the most part, so your watermark might get dropped in the process.Roel Nieskens
Thing is, if you release this plug-in to the public, people can see how it works and write a little scrubber tool that removes data encoded in that particular way
But they won't know which glyph you chose... For extra protection, you could encode the values in actual curves (although that slightly compromises the design) so there's zero visual indication of the watermark. So for example the plug-in could take a tangent point and slightly move the node back/forth and its handle forth/back (keeping the curve practically identical).1
Categories
- All Categories
- 43 Introductions
- 3.7K Typeface Design
- 803 Font Technology
- 1K Technique and Theory
- 622 Type Business
- 444 Type Design Critiques
- 542 Type Design Software
- 30 Punchcutting
- 136 Lettering and Calligraphy
- 83 Technique and Theory
- 53 Lettering Critiques
- 485 Typography
- 303 History of Typography
- 114 Education
- 68 Resources
- 499 Announcements
- 80 Events
- 105 Job Postings
- 148 Type Releases
- 165 Miscellaneous News
- 270 About TypeDrawers
- 53 TypeDrawers Announcements
- 116 Suggestions and Bug Reports