Index: work/feature_poll/src/ttf/long
===================================================================
--- work/feature_poll/src/ttf/long (nonexistent)
+++ work/feature_poll/src/ttf/long (revision 2068)
@@ -0,0 +1,37 @@
+Write with true type font, on silk, on copper. To handle all corner cases, this
+needs some infrastructure:
+
+ - possibility for more than one font set to be embedded in the .pcb - this enables the user to use the original font or multiple ttf fonts
+
- old-style fonts are static, ttf fonts are dynamic (see below)
+
- writing new text would use a global "current font" setting; this selects which one of the multiple font sets should be used
+
- an action to allocate a new set and bind it to a ttf
+
- sparse embedding: embed only the symbols that are actually in use (don't grow the .pcb file to megabytes with 15 Unicode snowmen glyphs)
+
- if the font is dynamic new glyphs are allocated as needed, e.g. the first time the user writes letter 'Q', it needs to appear in the sparse embedded version of the font; this means the ttf glyph for 'Q' is vector-rendered to letter 'Q' of the embedded font assigned to the ttf
+
- the current font rendering code doesn't change except dealing with multiple fonts
+
- font info would be stored as an attribute to the text object, so mainline pcb would preserve it (but would kill the embedded font set!)
+
- to minimize such compatibility issues with mainline, ttf glyph would be rendered into the same font size as the default font, so replacing any ttf text with the default font would cause only small differences in copper
+
+
+Having all glyphs in use embedded in the design means the design
+can be saved and loaded on another system without risking any
+"copper change" due to:
+
+ - missing ttf file
+
- different version of the ttf file
+
- different ttf file with the same name
+
- some clever ttf lib mechanism finding a substitution ttf for a missing ttf
+
- different ttf lib version, host architecture, etc. causing slight differences in ttf rendering
+
+
+The risky part starts when one edits text and starts using glyphs not embedded;
+in this case the ttf is used again to import the new glyphs. This can be
+overcome by an action that lets the user embed the basic alphabet or whatever
+glyphs, even if they are not currently in use.
+
+Compatibility: mainline pcb wouldn't understand multiple fonts and
+would render everything with the default font. While font type attributes
+would be preserved with text objects, mainline pcb would probably remove
+the embedded glyphs of dynamic fonts - forcing pcb-rnd to re-embed them
+on the next load (reducing "copper-stability" vs. ttf file versions).
+
+
Index: work/feature_poll/src/ttf/short
===================================================================
--- work/feature_poll/src/ttf/short (nonexistent)
+++ work/feature_poll/src/ttf/short (revision 2068)
@@ -0,0 +1 @@
+native support for true type font
\ No newline at end of file