Open Bug 604720 Opened 14 years ago Updated 2 years ago

::first-letter punctuation extension doesn't extend across changes in directionality

Categories

(Core :: Layout: Block and Inline, defect)

defect

Tracking

()

People

(Reporter: dbaron, Unassigned)

References

(Depends on 1 open bug, Blocks 2 open bugs)

Details

(Keywords: rtl, testcase)

The code for extending ::first-letter through punctuation to the first non-punctuation character doesn't cross changes in directionality. The underlying problem here is (currently, anyway) likely the same as bug 509685. However, I'd like a separate bug for this particular case because it affects a rather large number of tests in the CSS 2.1 test suite. That said, I'm not sure the spec shouldn't change here. I tend to think that if the :first-letter would include any characters with directionality different from the block's directionality, we probably shouldn't create the ::first-letter style at all. Currently, the spec only has an exception for the case: # Similarly, if the first letter(s) of the block are not at the start of the # line (for example due to bidirectional reordering), then the UA need not # create the pseudo-element(s). This causes the following tests to fail due to the tests for extension through the given characters: http://test.csswg.org/suites/css2.1/20101001/html4/first-letter-punct-before-002.htm http://test.csswg.org/suites/css2.1/20101001/xhtml1/first-letter-punct-before-002.xht 05C0;HEBREW PUNCTUATION PASEQ;Po;0;R;;;;;N;HEBREW POINT PASEQ;;;; 05C3;HEBREW PUNCTUATION SOF PASUQ;Po;0;R;;;;;N;;;;; 05C6;HEBREW PUNCTUATION NUN HAFUKHA;Po;0;R;;;;;N;;;;; 05F3;HEBREW PUNCTUATION GERESH;Po;0;R;;;;;N;;;;; 05F4;HEBREW PUNCTUATION GERSHAYIM;Po;0;R;;;;;N;;;;; 060D;ARABIC DATE SEPARATOR;Po;0;AL;;;;;N;;;;; 061B;ARABIC SEMICOLON;Po;0;AL;;;;;N;;;;; 061E;ARABIC TRIPLE DOT PUNCTUATION MARK;Po;0;AL;;;;;N;;;;; 061F;ARABIC QUESTION MARK;Po;0;AL;;;;;N;;;;; 066B;ARABIC DECIMAL SEPARATOR;Po;0;AN;;;;;N;;;;; 066C;ARABIC THOUSANDS SEPARATOR;Po;0;AN;;;;;N;;;;; 066D;ARABIC FIVE POINTED STAR;Po;0;AL;;;;;N;;;;; 06D4;ARABIC FULL STOP;Po;0;AL;;;;;N;ARABIC PERIOD;;;; 0700;SYRIAC END OF PARAGRAPH;Po;0;AL;;;;;N;;;;; 0701;SYRIAC SUPRALINEAR FULL STOP;Po;0;AL;;;;;N;;;;; 0702;SYRIAC SUBLINEAR FULL STOP;Po;0;AL;;;;;N;;;;; 0703;SYRIAC SUPRALINEAR COLON;Po;0;AL;;;;;N;;;;; 0704;SYRIAC SUBLINEAR COLON;Po;0;AL;;;;;N;;;;; 0705;SYRIAC HORIZONTAL COLON;Po;0;AL;;;;;N;;;;; 0706;SYRIAC COLON SKEWED LEFT;Po;0;AL;;;;;N;;;;; 0707;SYRIAC COLON SKEWED RIGHT;Po;0;AL;;;;;N;;;;; 0708;SYRIAC SUPRALINEAR COLON SKEWED LEFT;Po;0;AL;;;;;N;;;;; 0709;SYRIAC SUBLINEAR COLON SKEWED RIGHT;Po;0;AL;;;;;N;;;;; 070A;SYRIAC CONTRACTION;Po;0;AL;;;;;N;;;;; 070B;SYRIAC HARKLEAN OBELUS;Po;0;AL;;;;;N;;;;; 070C;SYRIAC HARKLEAN METOBELUS;Po;0;AL;;;;;N;;;;; 070D;SYRIAC HARKLEAN ASTERISCUS;Po;0;AL;;;;;N;;;;; http://test.csswg.org/suites/css2.1/20101001/html4/first-letter-punct-before-003.htm http://test.csswg.org/suites/css2.1/20101001/xhtml1/first-letter-punct-before-003.xht 0830;SAMARITAN PUNCTUATION NEQUDAA;Po;0;R;;;;;N;;;;; 0831;SAMARITAN PUNCTUATION AFSAAQ;Po;0;R;;;;;N;;;;; 0832;SAMARITAN PUNCTUATION ANGED;Po;0;R;;;;;N;;;;; 0833;SAMARITAN PUNCTUATION BAU;Po;0;R;;;;;N;;;;; 0834;SAMARITAN PUNCTUATION ATMAAU;Po;0;R;;;;;N;;;;; 0835;SAMARITAN PUNCTUATION SHIYYAALAA;Po;0;R;;;;;N;;;;; 0836;SAMARITAN ABBREVIATION MARK;Po;0;R;;;;;N;;;;; 0837;SAMARITAN PUNCTUATION MELODIC QITSA;Po;0;R;;;;;N;;;;; 0838;SAMARITAN PUNCTUATION ZIQAA;Po;0;R;;;;;N;;;;; 0839;SAMARITAN PUNCTUATION QITSA;Po;0;R;;;;;N;;;;; 083A;SAMARITAN PUNCTUATION ZAEF;Po;0;R;;;;;N;;;;; 083B;SAMARITAN PUNCTUATION TURU;Po;0;R;;;;;N;;;;; 083C;SAMARITAN PUNCTUATION ARKAANU;Po;0;R;;;;;N;;;;; 083D;SAMARITAN PUNCTUATION SOF MASHFAAT;Po;0;R;;;;;N;;;;; 083E;SAMARITAN PUNCTUATION ANNAAU;Po;0;R;;;;;N;;;;; (these all appear to be new in Unicode 6) http://test.csswg.org/suites/css2.1/20101001/html4/first-letter-punct-before-025.htm http://test.csswg.org/suites/css2.1/20101001/xhtml1/first-letter-punct-before-025.xht 10857;IMPERIAL ARAMAIC SECTION SIGN;Po;0;R;;;;;N;;;;; 1093F;LYDIAN TRIANGULAR MARK;Po;0;R;;;;;N;;;;; 10A50;KHAROSHTHI PUNCTUATION DOT;Po;0;R;;;;;N;;;;; 10A51;KHAROSHTHI PUNCTUATION SMALL CIRCLE;Po;0;R;;;;;N;;;;; 10A52;KHAROSHTHI PUNCTUATION CIRCLE;Po;0;R;;;;;N;;;;; 10A53;KHAROSHTHI PUNCTUATION CRESCENT BAR;Po;0;R;;;;;N;;;;; 10A54;KHAROSHTHI PUNCTUATION MANGALAM;Po;0;R;;;;;N;;;;; 10A55;KHAROSHTHI PUNCTUATION LOTUS;Po;0;R;;;;;N;;;;; 10A56;KHAROSHTHI PUNCTUATION DANDA;Po;0;R;;;;;N;;;;; 10A57;KHAROSHTHI PUNCTUATION DOUBLE DANDA;Po;0;R;;;;;N;;;;; 10A58;KHAROSHTHI PUNCTUATION LINES;Po;0;R;;;;;N;;;;; 10A7F;OLD SOUTH ARABIAN NUMERIC INDICATOR;Po;0;R;;;;;N;;;;;
This is also responsible for these failures (sorry the test names aren't links; see links above): first-letter-punctuation-115.xht 05C0;HEBREW PUNCTUATION PASEQ;Po;0;R;;;;;N;HEBREW POINT PASEQ;;;; first-letter-punctuation-116.xht 05C3;HEBREW PUNCTUATION SOF PASUQ;Po;0;R;;;;;N;;;;; first-letter-punctuation-117.xht 05C6;HEBREW PUNCTUATION NUN HAFUKHA;Po;0;R;;;;;N;;;;; first-letter-punctuation-118.xht 05F3;HEBREW PUNCTUATION GERESH;Po;0;R;;;;;N;;;;; first-letter-punctuation-119.xht 05F4;HEBREW PUNCTUATION GERSHAYIM;Po;0;R;;;;;N;;;;; first-letter-punctuation-121.xht 060D;ARABIC DATE SEPARATOR;Po;0;AL;;;;;N;;;;; first-letter-punctuation-122.xht 061B;ARABIC SEMICOLON;Po;0;AL;;;;;N;;;;; first-letter-punctuation-123.xht 061E;ARABIC TRIPLE DOT PUNCTUATION MARK;Po;0;AL;;;;;N;;;;; first-letter-punctuation-124.xht 061F;ARABIC QUESTION MARK;Po;0;AL;;;;;N;;;;; first-letter-punctuation-128.xht 066D;ARABIC FIVE POINTED STAR;Po;0;AL;;;;;N;;;;; first-letter-punctuation-129.xht 06D4;ARABIC FULL STOP;Po;0;AL;;;;;N;ARABIC PERIOD;;;; first-letter-punctuation-130.xht 0700;SYRIAC END OF PARAGRAPH;Po;0;AL;;;;;N;;;;; first-letter-punctuation-131.xht 0701;SYRIAC SUPRALINEAR FULL STOP;Po;0;AL;;;;;N;;;;; first-letter-punctuation-132.xht 0702;SYRIAC SUBLINEAR FULL STOP;Po;0;AL;;;;;N;;;;; first-letter-punctuation-133.xht 0703;SYRIAC SUPRALINEAR COLON;Po;0;AL;;;;;N;;;;; first-letter-punctuation-134.xht 0704;SYRIAC SUBLINEAR COLON;Po;0;AL;;;;;N;;;;; first-letter-punctuation-135.xht 0705;SYRIAC HORIZONTAL COLON;Po;0;AL;;;;;N;;;;; first-letter-punctuation-136.xht 0706;SYRIAC COLON SKEWED LEFT;Po;0;AL;;;;;N;;;;; first-letter-punctuation-137.xht 0707;SYRIAC COLON SKEWED RIGHT;Po;0;AL;;;;;N;;;;; first-letter-punctuation-138.xht 0708;SYRIAC SUPRALINEAR COLON SKEWED LEFT;Po;0;AL;;;;;N;;;;; first-letter-punctuation-139.xht 0709;SYRIAC SUBLINEAR COLON SKEWED RIGHT;Po;0;AL;;;;;N;;;;; first-letter-punctuation-140.xht 070A;SYRIAC CONTRACTION;Po;0;AL;;;;;N;;;;; first-letter-punctuation-141.xht 070B;SYRIAC HARKLEAN OBELUS;Po;0;AL;;;;;N;;;;; first-letter-punctuation-142.xht 070C;SYRIAC HARKLEAN METOBELUS;Po;0;AL;;;;;N;;;;; first-letter-punctuation-143.xht 070D;SYRIAC HARKLEAN ASTERISCUS;Po;0;AL;;;;;N;;;;; first-letter-punctuation-337.xht 10A50;KHAROSHTHI PUNCTUATION DOT;Po;0;R;;;;;N;;;;; first-letter-punctuation-338.xht 10A51;KHAROSHTHI PUNCTUATION SMALL CIRCLE;Po;0;R;;;;;N;;;;; first-letter-punctuation-339.xht 10A52;KHAROSHTHI PUNCTUATION CIRCLE;Po;0;R;;;;;N;;;;; first-letter-punctuation-340.xht 10A53;KHAROSHTHI PUNCTUATION CRESCENT BAR;Po;0;R;;;;;N;;;;; first-letter-punctuation-341.xht 10A54;KHAROSHTHI PUNCTUATION MANGALAM;Po;0;R;;;;;N;;;;; first-letter-punctuation-342.xht 10A55;KHAROSHTHI PUNCTUATION LOTUS;Po;0;R;;;;;N;;;;; first-letter-punctuation-343.xht 10A56;KHAROSHTHI PUNCTUATION DANDA;Po;0;R;;;;;N;;;;; first-letter-punctuation-344.xht 10A57;KHAROSHTHI PUNCTUATION DOUBLE DANDA;Po;0;R;;;;;N;;;;; first-letter-punctuation-345.xht 10A58;KHAROSHTHI PUNCTUATION LINES;Po;0;R;;;;;N;;;;;
The only tests with accessible URL I found are: http://test.csswg.org/suites/css2.1/20101027/html4/first-letter-punct-before-002.htm http://test.csswg.org/suites/css2.1/20101027/html4/first-letter-punct-before-003.htm http://test.csswg.org/suites/css2.1/20101027/html4/first-letter-punct-before-025.htm and http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-115.htm 05C0;HEBREW PUNCTUATION PASEQ;Po;0;R;;;;;N;HEBREW POINT PASEQ;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-116.htm 05C3;HEBREW PUNCTUATION SOF PASUQ;Po;0;R;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-117.htm 05C6;HEBREW PUNCTUATION NUN HAFUKHA;Po;0;R;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-118.htm 05F3;HEBREW PUNCTUATION GERESH;Po;0;R;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-119.htm 05F4;HEBREW PUNCTUATION GERSHAYIM;Po;0;R;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-121.htm 060D;ARABIC DATE SEPARATOR;Po;0;AL;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-122.htm 061B;ARABIC SEMICOLON;Po;0;AL;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-123.htm 061E;ARABIC TRIPLE DOT PUNCTUATION MARK;Po;0;AL;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-124.htm 061F;ARABIC QUESTION MARK;Po;0;AL;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-128.htm 066D;ARABIC FIVE POINTED STAR;Po;0;AL;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-129.htm 06D4;ARABIC FULL STOP;Po;0;AL;;;;;N;ARABIC PERIOD;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-130.htm 0700;SYRIAC END OF PARAGRAPH;Po;0;AL;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-131.htm 0701;SYRIAC SUPRALINEAR FULL STOP;Po;0;AL;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-132.htm 0702;SYRIAC SUBLINEAR FULL STOP;Po;0;AL;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-133.htm 0703;SYRIAC SUPRALINEAR COLON;Po;0;AL;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-134.htm 0704;SYRIAC SUBLINEAR COLON;Po;0;AL;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-135.htm 0705;SYRIAC HORIZONTAL COLON;Po;0;AL;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-136.htm 0706;SYRIAC COLON SKEWED LEFT;Po;0;AL;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-137.htm 0707;SYRIAC COLON SKEWED RIGHT;Po;0;AL;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-138.htm 0708;SYRIAC SUPRALINEAR COLON SKEWED LEFT;Po;0;AL;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-139.htm 0709;SYRIAC SUBLINEAR COLON SKEWED RIGHT;Po;0;AL;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-140.htm 070A;SYRIAC CONTRACTION;Po;0;AL;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-141.htm 070B;SYRIAC HARKLEAN OBELUS;Po;0;AL;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-142.htm 070C;SYRIAC HARKLEAN METOBELUS;Po;0;AL;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-143.htm 070D;SYRIAC HARKLEAN ASTERISCUS;Po;0;AL;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-337.htm 10A50;KHAROSHTHI PUNCTUATION DOT;Po;0;R;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-338.htm 10A51;KHAROSHTHI PUNCTUATION SMALL CIRCLE;Po;0;R;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-339.htm 10A52;KHAROSHTHI PUNCTUATION CIRCLE;Po;0;R;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-340.htm 10A53;KHAROSHTHI PUNCTUATION CRESCENT BAR;Po;0;R;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-341.htm 10A54;KHAROSHTHI PUNCTUATION MANGALAM;Po;0;R;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-342.htm 10A55;KHAROSHTHI PUNCTUATION LOTUS;Po;0;R;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-343.htm 10A56;KHAROSHTHI PUNCTUATION DANDA;Po;0;R;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-344.htm 10A57;KHAROSHTHI PUNCTUATION DOUBLE DANDA;Po;0;R;;;;;N;;;;; http://test.csswg.org/suites/css2.1/latest/html4/first-letter-punctuation-345.htm 10A58;KHAROSHTHI PUNCTUATION LINES;Po;0;R;;;;;N;;;;; Adding rtl and testcase keywords
Keywords: rtl, testcase
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.