зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1678756 - Check for new clusters or ligature groups in textPaths even in skipped characters r=emilio
The textcase and reference differ by a single space. We should check for new clusters or ligature groups in textPaths even in skipped characters Also removes a redundant check presumably left over from some earlier refactoring. Differential Revision: https://phabricator.services.mozilla.com/D97828
This commit is contained in:
Родитель
732d9030af
Коммит
16a19b1aa8
|
@ -114,6 +114,7 @@ random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy-if(skiaContent,0-1,0-
|
|||
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == textpath-a.svg textpath-a-ref.svg # Bug 1392106
|
||||
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == textpath-anchor-middle.svg textpath-anchor-middle-ref.svg # Bug 1392106
|
||||
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == textpath-anchor-end.svg textpath-anchor-end-ref.svg # Bug 1392106
|
||||
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == textpath-cluster.svg textpath-cluster-ref.svg # Bug 1392106
|
||||
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == textpath-invalid-parent.svg textpath-invalid-parent-ref.svg # Bug 1392106
|
||||
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == textpath-multiline.svg textpath-multiline-ref.svg # Bug 1392106
|
||||
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == textpath-multiline-2.svg textpath-multiline-2-ref.svg # Bug 1392106
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
<svg width="500" height="500" xmlns="http://www.w3.org/2000/svg" >
|
||||
<defs>
|
||||
<path id="path" d="M 100 200 C 200 100 300 0 400 100" />
|
||||
<style>
|
||||
text {
|
||||
font: 40px monospace;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
|
||||
<text transform="translate(0, 40)">a <textPath href="#path">b </textPath>c</text>
|
||||
</svg>
|
После Ширина: | Высота: | Размер: 315 B |
|
@ -0,0 +1,12 @@
|
|||
<svg width="500" height="500" xmlns="http://www.w3.org/2000/svg" >
|
||||
<defs>
|
||||
<path id="path" d="M 100 200 C 200 100 300 0 400 100" />
|
||||
<style>
|
||||
text {
|
||||
font: 40px monospace;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
|
||||
<text transform="translate(0, 40)">a <textPath href="#path">b </textPath> c</text>
|
||||
</svg>
|
После Ширина: | Высота: | Размер: 316 B |
|
@ -4661,8 +4661,7 @@ void SVGTextFrame::DoTextPathLayout() {
|
|||
}
|
||||
|
||||
// Loop for each character in the text path.
|
||||
while (!it.AtEnd() && it.TextPathFrame() &&
|
||||
it.TextPathFrame()->GetContent() == textPath) {
|
||||
while (!it.AtEnd() && it.TextPathFrame()) {
|
||||
// The index of the cluster or ligature group's first character.
|
||||
uint32_t i = it.TextElementCharIndex();
|
||||
|
||||
|
@ -4694,11 +4693,10 @@ void SVGTextFrame::DoTextPathLayout() {
|
|||
// that's OK; we'll consider any complete cluster or ligature
|
||||
// group that begins inside the text path as being affected
|
||||
// by it.
|
||||
if (it.IsOriginalCharSkipped()) {
|
||||
// Leave partialAdvance unchanged.
|
||||
} else if (it.IsClusterAndLigatureGroupStart()) {
|
||||
if (it.IsClusterAndLigatureGroupStart()) {
|
||||
break;
|
||||
} else {
|
||||
}
|
||||
if (!it.IsOriginalCharSkipped()) {
|
||||
partialAdvance += it.GetAdvance(context);
|
||||
}
|
||||
partialAdvances.AppendElement(partialAdvance);
|
||||
|
|
Загрузка…
Ссылка в новой задаче