<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/src/lib/font_id_allocator.cc, branch 2758-safe-write</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=2758-safe-write</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=2758-safe-write'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2024-06-28T11:04:30Z</updated>
<entry>
<title>Merge remote-tracking branch 'origin/main' into v2.17.x</title>
<updated>2024-06-28T11:04:30Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-06-28T11:04:30Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=d70f72ad7b25f5b71e8c27381e8bfdce6c0fa5b4'/>
<id>urn:sha1:d70f72ad7b25f5b71e8c27381e8bfdce6c0fa5b4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix error when importing bad subtitle file (#2838).</title>
<updated>2024-06-27T18:14:31Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-06-27T18:14:31Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=d6e8b54b2b60f70f1a8837183bc184809977be67'/>
<id>urn:sha1:d6e8b54b2b60f70f1a8837183bc184809977be67</id>
<content type='text'>
The subtitle XML refers to a font with no corresponding &lt;LoadFont&gt;.
</content>
</entry>
<entry>
<title>Simplify the FontIDAllocator a lot (#2827).</title>
<updated>2024-06-11T07:52:28Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-06-09T23:05:43Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=a224ef26f48e1a9a9189c2b935abb06147b342bc'/>
<id>urn:sha1:a224ef26f48e1a9a9189c2b935abb06147b342bc</id>
<content type='text'>
This is at the expense of forward compatibility, and the need to
re-examine subtitle content (losing custom fonts as we do so).

But it does mean that the code is simpler, and there's not this weird
growth of IDs where a DCP gets imported with some font, and then the ID
becomes 0_font, and if you do it again it's 0_0_font, and so on.
</content>
</entry>
<entry>
<title>Fix font ID allocation from DCP when there are subs and ccaps using the same IDs (#2822).</title>
<updated>2024-06-07T19:09:03Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-06-07T19:09:03Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=2d89772ba5b5bc3b2e010b3bbbafe2efa9300353'/>
<id>urn:sha1:2d89772ba5b5bc3b2e010b3bbbafe2efa9300353</id>
<content type='text'>
Previously we would always use &lt;last-reel+1&gt;_id as a disambiguated ID
for every case.
</content>
</entry>
<entry>
<title>Fix handling of empty font IDs and default DCP fonts (#2721) (part of #2722).</title>
<updated>2024-01-15T09:21:59Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-01-13T22:34:35Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=db22f81ccce9e1a5f205e6d8b3c0631fc039a173'/>
<id>urn:sha1:db22f81ccce9e1a5f205e6d8b3c0631fc039a173</id>
<content type='text'>
Previously we used an empty font ID as the default for when a subtitle
has no Font, but in #2721 we saw a DCP with an empty font ID which
raised an assertion (because we'd already added our default font with
the empty ID).

Here we try to fix this (and also make the default font correctly be
that from the first &lt;LoadFont&gt;).
</content>
</entry>
<entry>
<title>Don't try to add fonts from an asset that we don't have.</title>
<updated>2024-01-04T22:35:44Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-12-29T00:30:22Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=56cef0046ea0fabc39e1bfa5371fce1c76a259d8'/>
<id>urn:sha1:56cef0046ea0fabc39e1bfa5371fce1c76a259d8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Always add a font with an empty ID (#2649).</title>
<updated>2023-11-16T23:24:35Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-11-10T22:51:46Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=2603a529a05905f133bd52271fb1298e9a4a4aa5'/>
<id>urn:sha1:2603a529a05905f133bd52271fb1298e9a4a4aa5</id>
<content type='text'>
It's not just subtitle files with no &lt;LoadFont&gt; that can have
subtitles without a specified font.  In particular, DoM makes a
single space subtitle with no font spec when it creates filler
subtitles in multi-reel DCPs.
</content>
</entry>
<entry>
<title>Fix DCP content font ID allocation to cope with DCPs that have multiple fonts</title>
<updated>2023-10-15T07:10:18Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-10-14T19:48:25Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=3c802dd6d1451c2c8a7e188f8379738d72e907eb'/>
<id>urn:sha1:3c802dd6d1451c2c8a7e188f8379738d72e907eb</id>
<content type='text'>
with the same name in the same reel (#2600).

Previously we had this id_for_font_in_reel() which would give an ID
of N_font-ID.  This means we got duplicate font IDs.

Here we replace that method with FontAllocator, which gives an ID of
N_font-ID for the first font and M_font-ID, where M is a number higher than
the highest reel index.  The idea is to support the required new IDs
without breaking exisiting projects.

There is some documentation of how it works  in doc/design/fonts
</content>
</entry>
</feed>
