<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/src/lib/font_config.cc, branch main</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=main</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2025-12-05T20:36:53Z</updated>
<entry>
<title>Cleanup: can now remove the _NC log variants.</title>
<updated>2025-12-05T20:36:53Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-12-05T20:36:53Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=59e358ae25f84314afc6d8235aecaec124822f3f'/>
<id>urn:sha1:59e358ae25f84314afc6d8235aecaec124822f3f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Replace String::compose with fmt.</title>
<updated>2025-07-10T18:50:32Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-07-09T20:53:27Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=62c34b28567a097e8f22576e7d7891bd3dbe0ac0'/>
<id>urn:sha1:62c34b28567a097e8f22576e7d7891bd3dbe0ac0</id>
<content type='text'>
sed -i "/Plural-Forms/n;/%100/n;/scanf/n;s/%[123456789]/{}/g" src/lib/*.cc src/lib/*.h src/wx/*.cc src/tools/*.cc src/lib/po/*.po src/wx/po/*.po src/tools/po/*.po test/*.cc
sed -i "s/String::compose */fmt::format/g" src/lib/*.cc src/lib/*.h src/wx/*.cc src/tools/*.cc test/*.cc
</content>
</entry>
<entry>
<title>Convert some paths to string.</title>
<updated>2025-07-10T18:50:32Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-07-09T19:55:15Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=7a4763153548619b379222d5c22d10b238ba0ac3'/>
<id>urn:sha1:7a4763153548619b379222d5c22d10b238ba0ac3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Cleanup: assert.</title>
<updated>2023-10-14T19:43:52Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-10-14T19:43:52Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=1bfe44b1503fb0f5cffda135076709014337de52'/>
<id>urn:sha1:1bfe44b1503fb0f5cffda135076709014337de52</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use dcp::filesystem to wrap filesystem calls and fix_long_path</title>
<updated>2023-10-09T21:38:28Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-10-06T00:37:16Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=96f50dd5e600925488fdd9db1580aa01b026269b'/>
<id>urn:sha1:96f50dd5e600925488fdd9db1580aa01b026269b</id>
<content type='text'>
anything that is passed to read_file() from libcxml.

This should fix #2623 and other similar problems.
</content>
</entry>
<entry>
<title>In 1c73379ed8483dcf71c5ccfc459c2c22516a9aef I changed</title>
<updated>2023-04-19T21:57:03Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-04-19T21:57:03Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=22aa0dd620b6db93a64e1e171fb5ddb18693e56e'/>
<id>urn:sha1:22aa0dd620b6db93a64e1e171fb5ddb18693e56e</id>
<content type='text'>
FontConfig::_available_fonts to use the font ID as a key, but that's
totally wrong because the same Font object with the same ID can have
its font filename/data changed, and in that case we don't want to
use the cached font.

Here we use the actual TTF/OTF font data as the key.  We could have
just hashed the data (whether it comes from a disk file or is held
in memory) but this is slower in the case where we have the filename,
as then the file must be loaded from disk for each comparison.

This fixes #2518.
</content>
</entry>
<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 some logging to the system font finder.</title>
<updated>2022-07-20T08:22:55Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-07-06T22:09:09Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=6f66251a1267ad57e9a3f72a5688511b0dba15dd'/>
<id>urn:sha1:6f66251a1267ad57e9a3f72a5688511b0dba15dd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Ask fontconfig to scan the system for fonts requested by text subtitle files (#2264).</title>
<updated>2022-06-07T15:01:06Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-06-02T10:20:41Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=280a456ae1da8fa648be1e9f68140f045b306e32'/>
<id>urn:sha1:280a456ae1da8fa648be1e9f68140f045b306e32</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move fontconfig-related code out to a class.</title>
<updated>2022-06-07T15:01:06Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-06-02T10:52:59Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=9a7b67aee32a40539f29bc2d7017edd4a4f65f11'/>
<id>urn:sha1:9a7b67aee32a40539f29bc2d7017edd4a4f65f11</id>
<content type='text'>
</content>
</entry>
</feed>
