<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/src/lib/render_text.cc, branch v2.16.52</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=v2.16.52</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=v2.16.52'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2023-04-09T15:23:20Z</updated>
<entry>
<title>Fix subtitle font handling with in-memory fonts from SMPTE (#2509).</title>
<updated>2023-04-09T15:23:20Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-04-07T23:04:37Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=1c73379ed8483dcf71c5ccfc459c2c22516a9aef'/>
<id>urn:sha1:1c73379ed8483dcf71c5ccfc459c2c22516a9aef</id>
<content type='text'>
Previously we would fail to make a font available if it came from
a SMPTE MXF.  In that case we have a memory buffer containing the
TTF/OTF file but no file; here we add a hack/workaround so that
in-memory font files can be used by FontConfig.
</content>
</entry>
<entry>
<title>Add override_standard to bounding_box().</title>
<updated>2023-02-27T13:47:25Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-01-21T22:17:51Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=45204e57f309bc595841975f7769037e43a0831f'/>
<id>urn:sha1:45204e57f309bc595841975f7769037e43a0831f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Cleanup: pass required things int {x,y}_position instead of a whole StringText.</title>
<updated>2023-02-27T13:47:25Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-01-21T12:12:48Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=41467ebb0c8f1eef514b49be5fc9a042aa43cb8b'/>
<id>urn:sha1:41467ebb0c8f1eef514b49be5fc9a042aa43cb8b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add bounding_box().</title>
<updated>2023-02-27T13:47:25Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-01-20T22:53:45Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=eef23108ceb07b56cde9f0393aeaca5b429444e6'/>
<id>urn:sha1:eef23108ceb07b56cde9f0393aeaca5b429444e6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move the contents of setup_layout() into create_layout() and make</title>
<updated>2023-02-27T13:47:25Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-01-20T22:22:45Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=b1583bb7f1821f466fb2cb18af1259c62adc75fa'/>
<id>urn:sha1:b1583bb7f1821f466fb2cb18af1259c62adc75fa</id>
<content type='text'>
a new setup_layout() which can do some more stuff.
</content>
</entry>
<entry>
<title>Support the 2014 version of SMPTE 428-7 in render_text.cc and use it</title>
<updated>2023-02-27T13:47:25Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-12-11T23:51:56Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=5e7ec41119961114a9b4df90d1c9ced580667f54'/>
<id>urn:sha1:5e7ec41119961114a9b4df90d1c9ced580667f54</id>
<content type='text'>
when placing subtitles (e.g. SRT).  Also default to outputting 2014-era
alignment.
</content>
</entry>
<entry>
<title>Add video_{range,frame_type}.{cc,h} and remove some types.h includes.</title>
<updated>2022-12-13T00:11:42Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-12-13T00:04:07Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=94d5ba335224db075a95a76654f732ef54a4eabd'/>
<id>urn:sha1:94d5ba335224db075a95a76654f732ef54a4eabd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Escape entities just before Pango rendering (#2382).</title>
<updated>2022-12-01T08:21:38Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-11-30T21:08:00Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=99cb0937e54340fa20c594aaa501276b8321cbf0'/>
<id>urn:sha1:99cb0937e54340fa20c594aaa501276b8321cbf0</id>
<content type='text'>
Previously, text coming out of the player would have things like
&amp; escaped to &amp;amp;.  This escaping is also done by libxml++ when
writing XML, so doing it in the player would mean it was done
twice.

We do, however, need to escape things before passing them to Pango
as otherwise it gives errors and renders nothing for the line.

Here we move the escaping to just before the rendering, meaning
that in the reset of DoM we should pass unescaped strings around.
</content>
</entry>
<entry>
<title>Fix subtitle vertical position (#2367).</title>
<updated>2022-11-21T19:09:28Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-11-18T09:56:42Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=323b8cbb0b95297fbd027ffdc4ea5003b59ef25f'/>
<id>urn:sha1:323b8cbb0b95297fbd027ffdc4ea5003b59ef25f</id>
<content type='text'>
Previously we would not account for the differences in what vertical
position means between Interop and SMPTE.  For interop, vertical
position is the distance from the reference point to the text
baseline, whereas for SMPTE it is the distance from the reference
point to the top/middle/bottom of the subtitle (depending on the
reference).

This caused differences between the preview and the DCP for some
cases (notably, using SRT/SSA and making Interop DCPs, or converting
Interop DCP subs to SMPTE, or vice versa).
</content>
</entry>
<entry>
<title>Handle vertical alignment of subs correctly wrt the difference between Interop and SMPTE.</title>
<updated>2022-07-20T08:22:55Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-07-06T10:25:15Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=9726a58f44d52d235b027225ddd68c6acf83c733'/>
<id>urn:sha1:9726a58f44d52d235b027225ddd68c6acf83c733</id>
<content type='text'>
</content>
</entry>
</feed>
