summaryrefslogtreecommitdiff
path: root/writerfilter/source/dmapper/DomainMapper.cxx
diff options
context:
space:
mode:
authorJacobo Aragunde Pérez <jaragunde@igalia.com>2013-12-10 10:53:29 +0100
committerJacobo Aragunde Pérez <jaragunde@igalia.com>2013-12-11 17:38:56 +0100
commit1835074d525d12629008f8a6d5ed27402d18f4b3 (patch)
treeb2a5fe34f61da528fa1f269815430b0abb3988ca /writerfilter/source/dmapper/DomainMapper.cxx
parent0f5a7bc99fff074336b8d122a0bcc8f3c8e79a7f (diff)
fdo#64232: fix theme fonts application
We were applying the theme fonts taking only into account the <a:latin>, <a:ea> and <a:cs> tags to set latin, eastAsia and cs fonts respectively. Word uses in addition the <a:font> tags to define a font name per language, in combination with <w:themeFontLang> tag in settings.xml file which indicates the default language for latin, cs and eastAsia. For example, with <w:themeFontLang w:bidi="he-IL" /> the default language for cs text is Hebrew, if the theme says <a:font script="Hebr" typeface="Arial"/> then the selected font for those sections of text should be Arial. In theory, Word would also be able to define the language for a specific section of text and that should receive the proper font from the theme definition, but we are currently not supporting it. More info: http://blogs.msdn.com/b/officeinteroperability/archive/2013/04/ 22/office-open-xml-themes-schemes-and-fonts.aspx Main changes in this patch: * Added setter and getter values to ThemeTable and SettingsTable to be able to pass the values read in <w:themeFontLang> tag. * Added support to manage the values in <w:themeFontLang> and <a:font> tags, which used to be discarded. * Added methods to translate locale definitions to the language codes used in the <a:font>, using a table defined in the link above. Change-Id: I78e6da5feab34cb9ff770a2c60e2f7229e7fb140
Diffstat (limited to 'writerfilter/source/dmapper/DomainMapper.cxx')
-rw-r--r--writerfilter/source/dmapper/DomainMapper.cxx2
1 files changed, 2 insertions, 0 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx
index 190e4b015bc7..360ac57f201b 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -4035,6 +4035,8 @@ void DomainMapper::lcl_table(Id name, writerfilter::Reference<Table>::Pointer_t
}
break;
case NS_ooxml::LN_THEMETABLE:
+ m_pImpl->GetThemeTable()->setThemeFontLangProperties(
+ m_pImpl->GetSettingsTable()->GetThemeFontLangProperties() );
ref->resolve ( *m_pImpl->GetThemeTable() );
break;
case NS_ooxml::LN_settings_settings: