summaryrefslogtreecommitdiff
path: root/doc/design/fonts
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2024-06-10 01:04:16 +0200
committerCarl Hetherington <cth@carlh.net>2024-06-10 21:38:48 +0200
commitf37099ba3e9157c3ef74ffcc87c34d3fc54ccfe5 (patch)
treef012b597f2c467cfb959d0882fb06b0f46d006d6 /doc/design/fonts
parenta76d4455bdff6df9e7b34a651e57648925726242 (diff)
Clarify some documentation slightly.
Diffstat (limited to 'doc/design/fonts')
-rw-r--r--doc/design/fonts17
1 files changed, 14 insertions, 3 deletions
diff --git a/doc/design/fonts b/doc/design/fonts
index c431d52e9..5d61f71a3 100644
--- a/doc/design/fonts
+++ b/doc/design/fonts
@@ -47,13 +47,24 @@ Passes subtitles through.
* Writer
-Gets all fonts, puts them in the font ID map using the font's original ID. This is OK because we
-don't need uniqueness in the DCP any more.
+Gets all fonts, puts them in the FontIDMap using the font's re-written ID.
* Reel Writer
-Gets subtitles, uses font ID map to find the ID from the Font C++ object pointer. Puts this ID in
+Gets subtitles, uses FontIDMap to find the ID from the Font C++ object pointer. Puts this ID in
the font and writes it to the asset. Ensures the required LoadFont is added.
+
+To put this all another way, we need to:
+
+1. Make some Content-unique ID from a random font ID. Then we can store this in the metadata.xml, and the user can change the font.
+
+2. Then do the same trick later, with the same result, so the decoder can receive the random font ID and go via the Content-unique
+ID to get the actual font TTF from the Content.
+
+In both these situations a string is the easiest thing (to go in some XML, and to go in a dcp::SubtitleString).
+
+This whole problem really is just that a single TextContent represents multiple
+DCP reels, and each reel can have a different font with the same font ID.