mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Fix text-transform:capitalize across text runs
This commit is contained in:
parent
371e6897e1
commit
6304186f4f
3 changed files with 10 additions and 5 deletions
|
@ -524,9 +524,12 @@ impl RunMapping {
|
|||
|
||||
// Account for `text-transform`. (Confusingly, this is not handled in "text
|
||||
// transformation" above, but we follow Gecko in the naming.)
|
||||
let is_first_run = *start_position == 0;
|
||||
let character_count = apply_style_transform_if_necessary(&mut run_info.text,
|
||||
old_byte_length,
|
||||
text_transform);
|
||||
text_transform,
|
||||
*last_whitespace,
|
||||
is_first_run);
|
||||
|
||||
// Record the position of the insertion point if necessary.
|
||||
if let Some(insertion_point) = insertion_point {
|
||||
|
@ -557,7 +560,9 @@ impl RunMapping {
|
|||
/// use graphemes instead of characters.
|
||||
fn apply_style_transform_if_necessary(string: &mut String,
|
||||
first_character_position: usize,
|
||||
text_transform: text_transform::T)
|
||||
text_transform: text_transform::T,
|
||||
last_whitespace: bool,
|
||||
is_first_run: bool)
|
||||
-> usize {
|
||||
match text_transform {
|
||||
text_transform::T::none => string[first_character_position..].chars().count(),
|
||||
|
@ -585,9 +590,7 @@ fn apply_style_transform_if_necessary(string: &mut String,
|
|||
let original = string[first_character_position..].to_owned();
|
||||
string.truncate(first_character_position);
|
||||
|
||||
// FIXME(pcwalton): This may not always be correct in the case of something like
|
||||
// `f<span>oo</span>`.
|
||||
let mut capitalize_next_letter = true;
|
||||
let mut capitalize_next_letter = is_first_run || last_whitespace;
|
||||
let mut count = 0;
|
||||
for character in original.chars() {
|
||||
count += 1;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="UTF-8">
|
||||
<!-- Tests that `text-transform: capitalize` works. -->
|
||||
<body>
|
||||
<h1 style='text-transform: capitalize; font-family: Hiragino Maru Gothic Pro'>ュゥゥゥゥ can do ányThing at ゾムボ.cOm</h1>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="UTF-8">
|
||||
<!-- Tests that `text-transform: capitalize` works. -->
|
||||
<body>
|
||||
<h1 style='font-family: Hiragino Maru Gothic Pro'>ュゥゥゥゥ Can Do ÁnyThing At ゾムボ.cOm</h1>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue