Handle content(first-letter)

This commit is contained in:
Guillaume Ayoub 2018-01-23 00:45:28 +01:00
parent be8e969031
commit decdc0941e
2 changed files with 8 additions and 3 deletions

View File

@ -1585,8 +1585,7 @@ def validate_content_list_token(token):
elif prototype in (('content', ()), ('content', ('ident',))):
if not args:
return (name, 'text')
elif args[0] in ('text', 'after', 'before'):
# TODO: first-letter should be allowed here too
elif args[0] in ('text', 'after', 'before', 'first-letter'):
return (name, args[0])
elif prototype in (('counter', ('ident',)),
('counters', ('ident', 'string'))):

View File

@ -1159,6 +1159,11 @@ def box_text(box):
return ''
def box_text_first_letter(box):
text = box_text(box)
return text[0] if text else ''
def box_text_before(box):
if isinstance(box, boxes.ParentBox):
return ''.join(
@ -1182,4 +1187,5 @@ def box_text_after(box):
TEXT_CONTENT_EXTRACTORS = {
'text': box_text,
'before': box_text_before,
'after': box_text_after}
'after': box_text_after,
'first-letter': box_text_first_letter}