[PATCH] fdo#38090: vcl: remove ImplFontCache::maFontNameList:
Michael Stahl (via Code Review)
gerrit at gerrit.libreoffice.org
Wed Dec 19 12:19:50 PST 2012
Hi,
I have submitted a patch for review:
https://gerrit.libreoffice.org/1424
To pull it, you can do:
git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/24/1424/1
fdo#38090: vcl: remove ImplFontCache::maFontNameList:
The font cache in VCL returns different fonts for identical parameters,
which causes layout differences in Writer.
first we search the font with language 1054:
debug: XXX 0x2103950 add to maFontNameList: TH SarabunPSK->waree
p maFontNameList
$9 = boost::unordered_map with 1 elements = {
["TH SarabunPSK"] = "waree"
debug: XXX 0x2103950 found in maFontNameList: TH SarabunPSK->waree
in this very same invocation the "waree" is then rerouted to Deja Vu
(which can only be because it was called with language 1033):
debug: XXX 0x2103950 add to maFontNameList: TH SarabunPSK->dejavusans
p maFontNameList
$11 = boost::unordered_map with 1 elements = {
["TH SarabunPSK"] = "dejavusans"
}
debug: XXX 0x2103950 found in maFontNameList: TH SarabunPSK->dejavusans
- the selection of different fonts happens in
FcPreMatchSubstititution::FindFontSubstitute.
- we never get a direct cache hit from maFontInstanceList because there
are some differences like WIDTH_DONTKNOW, and the maSearchName
- the first time a font is searched, it ends up in maFontInstanceList
- the second time a font is searched, it may end up in maFontNameList,
which maps _only_ based on the name (appears to be an invalid optimization)
- once we have TH SarabunPSK->dejavusans in maFontNameList we can never
select the other one because apparently dejavusans covers all languages
Change-Id: Ibd73de88d8fc3b6e1319eb34c261e55ea217a988
---
M vcl/inc/outdev.h
M vcl/source/gdi/outdev3.cxx
2 files changed, 0 insertions(+), 30 deletions(-)
--
To view, visit https://gerrit.libreoffice.org/1424
To unsubscribe, visit https://gerrit.libreoffice.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibd73de88d8fc3b6e1319eb34c261e55ea217a988
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Michael Stahl <mstahl at redhat.com>
More information about the LibreOffice
mailing list