Closed Bug 263411 Opened 20 years ago Closed 20 years ago

::first-letter pseudo-element doesn't include punctuation marks :

Categories

(Core :: Layout, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jshin1987, Assigned: jshin1987)

Details

(4 keywords, Whiteboard: fixed-aviary-1.0,fixed-1.7)

Attachments

(1 file)

This is a regression due to the patch for bug 180266. A testcase is available in
bug 54467. Somehow, I made a mistake of not including all characters with
Unicode character class Ps, Pe and Po. I'm gonna generate a new list out of the
Unicode 4.0.1 data file.
Summary: first-char psuedo class doesn't include punctuation makrs : → first-letter pseudo class doesn't include punctuation marks :
FWIW, CSS 2.1 says:

  Punctuation (i.e, characters defined in Unicode [UNICODE] in the "open" (Ps),
  "close" (Pe), "initial" (Pi). "final" (Pf) and "other" (Po) punctuation
  classes), that precedes or follows the first letter should be included

  -- http://www.w3.org/TR/2004/CR-CSS21-20040225/selector.html#first-letter

Two classes were added between last call and CR as a result of updating the
Unicode reference to Unicode 4.0:
http://www.w3.org/Style/css21-updates/CR-CSS21-20040225-20030915-diff/selector.html#first-letter
Summary: first-letter pseudo class doesn't include punctuation marks : → ::first-letter pseudo-element doesn't include punctuation marks :
I generated a new list out of the Unicode 4.0.1 data file. It includes
characters classified as Ps,Po,Pe, Pi, and Pf. 
(cut -d ';' -f 1-3 UnicodeData-4.0.1.txt | egrep 'Ps|Pe|Po|Pf|Pi' | cut -d ';'
-f 1-2	| sed -e 's/;/ : /'  -e 's/^/  0X/')
I excluded three non-BMP characters from the list because nsTextFrame.cpp
currently doesn't handle non-BMP characters correctly when it comes to identify
'first-letter'. 

Thanks for saving me some digging up. I was wondering why U00AB was not
included in my list generated from the Unicode 4.0.1 data file and it turned
out to be classified as Pi.
Attachment #161430 - Flags: superreview?(dbaron)
Attachment #161430 - Flags: review?(dbaron)
Could you update the comment at the top of punct_marks.ccmap to describe how it
was generated?

Also, there are a lot of new characters added that seem a bit surprising, but
after thinking about them I think a lot of them make sense, e.g., for:

*A*
[B]
¿Y?
¡O!
Attachment #161430 - Flags: superreview?(dbaron)
Attachment #161430 - Flags: superreview+
Attachment #161430 - Flags: review?(dbaron)
Attachment #161430 - Flags: review+
fix checked in with a comment added about the way the file was generated. 
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Comment on attachment 161430 [details] [diff] [review]
patch (Unicode 4.0.1, CSS 2.1 update)

asking for a to branches.
This patch fixes the regression introduced between 1.3 and 1.4 by my mistake in
generating 'punct_marks.ccmap'. It doesn't change any C++ code except for
several lines of comments.
Attachment #161430 - Flags: approval1.7.x?
Attachment #161430 - Flags: approval-aviary?
Comment on attachment 161430 [details] [diff] [review]
patch (Unicode 4.0.1, CSS 2.1 update)

a=mkaply for branches
Attachment #161430 - Flags: approval1.7.x?
Attachment #161430 - Flags: approval1.7.x+
Attachment #161430 - Flags: approval-aviary?
Attachment #161430 - Flags: approval-aviary+
thanks for r/sr/a
Whiteboard: fixed-aviary-1.0,fixed-1.7
Keywords: fixed-aviary1.0
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: