Changeset 125476 in webkit


Ignore:
Timestamp:
Aug 13, 2012 5:38:19 PM (12 years ago)
Author:
commit-queue@webkit.org
Message:

Expand list of supported languages for RenderQuote to match WHATWG spec
https://bugs.webkit.org/show_bug.cgi?id=93424

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-08-13
Reviewed by Eric Seidel.

Source/WebCore:

Expand the table of quotes to include the 148 lang values and associated quotes
from the WHATWG web-apps recommended styling spec.

Test: fast/css-generated-content/quotes-lang-case-insensitive.html

  • rendering/RenderQuote.cpp: Added missing copyright.

(WebCore::quotesDataLanguageMap): Expanded the table of quotes.
(WebCore::basicQuotesData): Added a FIXME to switch to using stylized "en" quotes.

  • rendering/RenderQuote.h: Added missing copyright.

LayoutTests:

Update quote language test to include the 148 languages in the WHATWG web-apps
recommended styling table.
http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#quotes

Add a new test that ensures language matching for quotes is case insensitive.

  • fast/css-generated-content/quotes-lang-case-insensitive-expected.html: Added.
  • fast/css-generated-content/quotes-lang-case-insensitive.html: Added.
  • fast/css-generated-content/quotes-lang-expected.html:
  • fast/css-generated-content/quotes-lang.html:
Location:
trunk
Files:
2 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r125472 r125476  
     12012-08-13  Elliott Sprehn  <esprehn@chromium.org>
     2
     3        Expand list of supported languages for RenderQuote to match WHATWG spec
     4        https://bugs.webkit.org/show_bug.cgi?id=93424
     5
     6        Reviewed by Eric Seidel.
     7
     8        Update quote language test to include the 148 languages in the WHATWG web-apps
     9        recommended styling table.
     10        http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#quotes
     11
     12        Add a new test that ensures language matching for quotes is case insensitive.
     13
     14        * fast/css-generated-content/quotes-lang-case-insensitive-expected.html: Added.
     15        * fast/css-generated-content/quotes-lang-case-insensitive.html: Added.
     16        * fast/css-generated-content/quotes-lang-expected.html:
     17        * fast/css-generated-content/quotes-lang.html:
     18
    1192012-08-13  Pravin D  <pravind.2k4@gmail.com>
    220
  • trunk/LayoutTests/fast/css-generated-content/quotes-lang-expected.html

    r124518 r125476  
    22
    33<style>
    4     span:before, span:after { content: '"'; }
     4    /* This css is from http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#quotes */
    55
    6     .example:before, .example > span:before { content: "A"; }
    7     .example:after, .example > span:after { content: "B"; }
    8 
    9     .en:before { content: "\201C"; }
    10     .en:after { content: "\201D"; }
    11     .en > span:before { content: "\2018"; }
    12     .en > span:after { content: "\2019"; }
    13 
    14     .no:before { content: "\00AB"; }
    15     .no:after { content: "\00BB"; }
    16     .no > span:before { content: "\2039"; }
    17     .no > span:after { content: "\203A"; }
    18 
    19     .ro:before, .ro > span:before { content: "\201E"; }
    20     .ro:after, .ro > span:after { content: "\201D"; }
    21 
    22     .ru:before { content: "\00AB"; }
    23     .ru:after { content: "\00BB"; }
    24     .ru > span:before { content: "\201E"; }
    25     .ru > span:after { content: "\201C"; }
     6    :root:lang(af),       :not(:lang(af)) > :lang(af)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     7    :root:lang(agq),      :not(:lang(agq)) > :lang(agq)           { quotes: '\201e' '\201d' '\201a' '\2019' } /* „ ” ‚ ’ */
     8    :root:lang(ak),       :not(:lang(ak)) > :lang(ak)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     9    :root:lang(am),       :not(:lang(am)) > :lang(am)             { quotes: '\00ab' '\00bb' '\2039' '\203a' } /* « » ‹ › */
     10    :root:lang(ar),       :not(:lang(ar)) > :lang(ar)             { quotes: '\201d' '\201c' '\2019' '\2018' } /* ” “ ’ ‘ */
     11    :root:lang(asa),      :not(:lang(asa)) > :lang(asa)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     12    :root:lang(az-Cyrl),  :not(:lang(az-Cyrl)) > :lang(az-Cyrl)   { quotes: '\00ab' '\00bb' '\2039' '\203a' } /* « » ‹ › */
     13    :root:lang(bas),      :not(:lang(bas)) > :lang(bas)           { quotes: '\00ab' '\00bb' '\201e' '\201c' } /* « » „ “ */
     14    :root:lang(bem),      :not(:lang(bem)) > :lang(bem)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     15    :root:lang(bez),      :not(:lang(bez)) > :lang(bez)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     16    :root:lang(bg),       :not(:lang(bg)) > :lang(bg)             { quotes: '\201e' '\201c' '\201a' '\2018' } /* „ “ ‚ ‘ */
     17    :root:lang(bm),       :not(:lang(bm)) > :lang(bm)             { quotes: '\00ab' '\00bb' '\201c' '\201d' } /* « » “ ” */
     18    :root:lang(bn),       :not(:lang(bn)) > :lang(bn)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     19    :root:lang(br),       :not(:lang(br)) > :lang(br)             { quotes: '\00ab' '\00bb' '\2039' '\203a' } /* « » ‹ › */
     20    :root:lang(brx),      :not(:lang(brx)) > :lang(brx)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     21    :root:lang(bs-Cyrl),  :not(:lang(bs-Cyrl)) > :lang(bs-Cyrl)   { quotes: '\201e' '\201c' '\201a' '\2018' } /* „ “ ‚ ‘ */
     22    :root:lang(ca),       :not(:lang(ca)) > :lang(ca)             { quotes: '\201c' '\201d' '\00ab' '\00bb' } /* “ ” « » */
     23    :root:lang(cgg),      :not(:lang(cgg)) > :lang(cgg)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     24    :root:lang(chr),      :not(:lang(chr)) > :lang(chr)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     25    :root:lang(cs),       :not(:lang(cs)) > :lang(cs)             { quotes: '\201e' '\201c' '\201a' '\2018' } /* „ “ ‚ ‘ */
     26    :root:lang(da),       :not(:lang(da)) > :lang(da)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     27    :root:lang(dav),      :not(:lang(dav)) > :lang(dav)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     28    :root:lang(de),       :not(:lang(de)) > :lang(de)             { quotes: '\201e' '\201c' '\201a' '\2018' } /* „ “ ‚ ‘ */
     29    :root:lang(de-CH),    :not(:lang(de-CH)) > :lang(de-CH)       { quotes: '\00ab' '\00bb' '\2039' '\203a' } /* « » ‹ › */
     30    :root:lang(dje),      :not(:lang(dje)) > :lang(dje)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     31    :root:lang(dua),      :not(:lang(dua)) > :lang(dua)           { quotes: '\00ab' '\00bb' '\2018' '\2019' } /* « » ‘ ’ */
     32    :root:lang(dyo),      :not(:lang(dyo)) > :lang(dyo)           { quotes: '\00ab' '\00bb' '\201c' '\201d' } /* « » “ ” */
     33    :root:lang(dz),       :not(:lang(dz)) > :lang(dz)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     34    :root:lang(ebu),      :not(:lang(ebu)) > :lang(ebu)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     35    :root:lang(ee),       :not(:lang(ee)) > :lang(ee)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     36    :root:lang(el),       :not(:lang(el)) > :lang(el)             { quotes: '\00ab' '\00bb' '\201c' '\201d' } /* « » “ ” */
     37    :root:lang(en),       :not(:lang(en)) > :lang(en)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     38    :root:lang(en-GB),    :not(:lang(en-GB)) > :lang(en-GB)       { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     39    :root:lang(es),       :not(:lang(es)) > :lang(es)             { quotes: '\201c' '\201d' '\00ab' '\00bb' } /* “ ” « » */
     40    :root:lang(et),       :not(:lang(et)) > :lang(et)             { quotes: '\201e' '\201c' '\201a' '\2018' } /* „ “ ‚ ‘ */
     41    :root:lang(eu),       :not(:lang(eu)) > :lang(eu)             { quotes: '\201c' '\201d' '\00ab' '\00bb' } /* “ ” « » */
     42    :root:lang(ewo),      :not(:lang(ewo)) > :lang(ewo)           { quotes: '\00ab' '\00bb' '\201c' '\201d' } /* « » “ ” */
     43    :root:lang(fa),       :not(:lang(fa)) > :lang(fa)             { quotes: '\00ab' '\00bb' '\2039' '\203a' } /* « » ‹ › */
     44    :root:lang(ff),       :not(:lang(ff)) > :lang(ff)             { quotes: '\201e' '\201d' '\201a' '\2019' } /* „ ” ‚ ’ */
     45    :root:lang(fi),       :not(:lang(fi)) > :lang(fi)             { quotes: '\201d' '\201d' '\2019' '\2019' } /* ” ” ’ ’ */
     46    :root:lang(fr),       :not(:lang(fr)) > :lang(fr)             { quotes: '\00ab' '\00bb' '\00ab' '\00bb' } /* « » « » */
     47    :root:lang(fr-CA),    :not(:lang(fr-CA)) > :lang(fr-CA)       { quotes: '\00ab' '\00bb' '\2039' '\203a' } /* « » ‹ › */
     48    :root:lang(fr-CH),    :not(:lang(fr-CH)) > :lang(fr-CH)       { quotes: '\00ab' '\00bb' '\2039' '\203a' } /* « » ‹ › */
     49    :root:lang(gsw),      :not(:lang(gsw)) > :lang(gsw)           { quotes: '\00ab' '\00bb' '\2039' '\203a' } /* « » ‹ › */
     50    :root:lang(gu),       :not(:lang(gu)) > :lang(gu)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     51    :root:lang(guz),      :not(:lang(guz)) > :lang(guz)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     52    :root:lang(ha),       :not(:lang(ha)) > :lang(ha)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     53    :root:lang(he),       :not(:lang(he)) > :lang(he)             { quotes: '\0022' '\0022' '\0027' '\0027' } /* " " ' ' */
     54    :root:lang(hi),       :not(:lang(hi)) > :lang(hi)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     55    :root:lang(hr),       :not(:lang(hr)) > :lang(hr)             { quotes: '\201e' '\201c' '\201a' '\2018' } /* „ “ ‚ ‘ */
     56    :root:lang(hu),       :not(:lang(hu)) > :lang(hu)             { quotes: '\201e' '\201d' '\00bb' '\00ab' } /* „ ” » « */
     57    :root:lang(id),       :not(:lang(id)) > :lang(id)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     58    :root:lang(ig),       :not(:lang(ig)) > :lang(ig)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     59    :root:lang(it),       :not(:lang(it)) > :lang(it)             { quotes: '\00ab' '\00bb' '\201c' '\201d' } /* « » “ ” */
     60    :root:lang(ja),       :not(:lang(ja)) > :lang(ja)             { quotes: '\300c' '\300d' '\300e' '\300f' } /* 「 」 『 』 */
     61    :root:lang(jgo),      :not(:lang(jgo)) > :lang(jgo)           { quotes: '\00ab' '\00bb' '\2039' '\203a' } /* « » ‹ › */
     62    :root:lang(jmc),      :not(:lang(jmc)) > :lang(jmc)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     63    :root:lang(kab),      :not(:lang(kab)) > :lang(kab)           { quotes: '\00ab' '\00bb' '\201c' '\201d' } /* « » “ ” */
     64    :root:lang(kam),      :not(:lang(kam)) > :lang(kam)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     65    :root:lang(kde),      :not(:lang(kde)) > :lang(kde)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     66    :root:lang(kea),      :not(:lang(kea)) > :lang(kea)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     67    :root:lang(khq),      :not(:lang(khq)) > :lang(khq)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     68    :root:lang(ki),       :not(:lang(ki)) > :lang(ki)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     69    :root:lang(kkj),      :not(:lang(kkj)) > :lang(kkj)           { quotes: '\00ab' '\00bb' '\2039' '\203a' } /* « » ‹ › */
     70    :root:lang(kln),      :not(:lang(kln)) > :lang(kln)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     71    :root:lang(km),       :not(:lang(km)) > :lang(km)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     72    :root:lang(kn),       :not(:lang(kn)) > :lang(kn)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     73    :root:lang(ko),       :not(:lang(ko)) > :lang(ko)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     74    :root:lang(ksb),      :not(:lang(ksb)) > :lang(ksb)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     75    :root:lang(ksf),      :not(:lang(ksf)) > :lang(ksf)           { quotes: '\00ab' '\00bb' '\2018' '\2019' } /* « » ‘ ’ */
     76    :root:lang(lag),      :not(:lang(lag)) > :lang(lag)           { quotes: '\201d' '\201d' '\2019' '\2019' } /* ” ” ’ ’ */
     77    :root:lang(lg),       :not(:lang(lg)) > :lang(lg)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     78    :root:lang(ln),       :not(:lang(ln)) > :lang(ln)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     79    :root:lang(lo),       :not(:lang(lo)) > :lang(lo)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     80    :root:lang(lt),       :not(:lang(lt)) > :lang(lt)             { quotes: '\201e' '\201c' '\201e' '\201c' } /* „ “ „ “ */
     81    :root:lang(lu),       :not(:lang(lu)) > :lang(lu)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     82    :root:lang(luo),      :not(:lang(luo)) > :lang(luo)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     83    :root:lang(luy),      :not(:lang(luy)) > :lang(luy)           { quotes: '\201e' '\201c' '\201a' '\2018' } /* „ “ ‚ ‘ */
     84    :root:lang(lv),       :not(:lang(lv)) > :lang(lv)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     85    :root:lang(mas),      :not(:lang(mas)) > :lang(mas)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     86    :root:lang(mer),      :not(:lang(mer)) > :lang(mer)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     87    :root:lang(mfe),      :not(:lang(mfe)) > :lang(mfe)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     88    :root:lang(mg),       :not(:lang(mg)) > :lang(mg)             { quotes: '\00ab' '\00bb' '\201c' '\201d' } /* « » “ ” */
     89    :root:lang(mgo),      :not(:lang(mgo)) > :lang(mgo)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     90    :root:lang(mk),       :not(:lang(mk)) > :lang(mk)             { quotes: '\201e' '\201c' '\201a' '\2018' } /* „ “ ‚ ‘ */
     91    :root:lang(ml),       :not(:lang(ml)) > :lang(ml)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     92    :root:lang(mr),       :not(:lang(mr)) > :lang(mr)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     93    :root:lang(ms),       :not(:lang(ms)) > :lang(ms)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     94    :root:lang(mua),      :not(:lang(mua)) > :lang(mua)           { quotes: '\00ab' '\00bb' '\201c' '\201d' } /* « » “ ” */
     95    :root:lang(my),       :not(:lang(my)) > :lang(my)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     96    :root:lang(naq),      :not(:lang(naq)) > :lang(naq)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     97    :root:lang(nb),       :not(:lang(nb)) > :lang(nb)             { quotes: '\00ab' '\00bb' '\2018' '\2019' } /* « » ‘ ’ */
     98    :root:lang(nd),       :not(:lang(nd)) > :lang(nd)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     99    :root:lang(nl),       :not(:lang(nl)) > :lang(nl)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     100    :root:lang(nmg),      :not(:lang(nmg)) > :lang(nmg)           { quotes: '\201e' '\201d' '\00ab' '\00bb' } /* „ ” « » */
     101    :root:lang(nn),       :not(:lang(nn)) > :lang(nn)             { quotes: '\00ab' '\00bb' '\2018' '\2019' } /* « » ‘ ’ */
     102    :root:lang(nnh),      :not(:lang(nnh)) > :lang(nnh)           { quotes: '\00ab' '\00bb' '\201c' '\201d' } /* « » “ ” */
     103    :root:lang(nus),      :not(:lang(nus)) > :lang(nus)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     104    :root:lang(nyn),      :not(:lang(nyn)) > :lang(nyn)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     105    :root:lang(pl),       :not(:lang(pl)) > :lang(pl)             { quotes: '\201e' '\201d' '\00ab' '\00bb' } /* „ ” « » */
     106    :root:lang(pt),       :not(:lang(pt)) > :lang(pt)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     107    :root:lang(pt-PT),    :not(:lang(pt-PT)) > :lang(pt-PT)       { quotes: '\00ab' '\00bb' '\201c' '\201d' } /* « » “ ” */
     108    :root:lang(rn),       :not(:lang(rn)) > :lang(rn)             { quotes: '\201d' '\201d' '\2019' '\2019' } /* ” ” ’ ’ */
     109    :root:lang(ro),       :not(:lang(ro)) > :lang(ro)             { quotes: '\201e' '\201d' '\00ab' '\00bb' } /* „ ” « » */
     110    :root:lang(rof),      :not(:lang(rof)) > :lang(rof)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     111    :root:lang(ru),       :not(:lang(ru)) > :lang(ru)             { quotes: '\00ab' '\00bb' '\201e' '\201c' } /* « » „ “ */
     112    :root:lang(rw),       :not(:lang(rw)) > :lang(rw)             { quotes: '\00ab' '\00bb' '\2018' '\2019' } /* « » ‘ ’ */
     113    :root:lang(rwk),      :not(:lang(rwk)) > :lang(rwk)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     114    :root:lang(saq),      :not(:lang(saq)) > :lang(saq)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     115    :root:lang(sbp),      :not(:lang(sbp)) > :lang(sbp)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     116    :root:lang(seh),      :not(:lang(seh)) > :lang(seh)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     117    :root:lang(ses),      :not(:lang(ses)) > :lang(ses)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     118    :root:lang(sg),       :not(:lang(sg)) > :lang(sg)             { quotes: '\00ab' '\00bb' '\201c' '\201d' } /* « » “ ” */
     119    :root:lang(shi),      :not(:lang(shi)) > :lang(shi)           { quotes: '\00ab' '\00bb' '\201e' '\201d' } /* « » „ ” */
     120    :root:lang(shi-Tfng), :not(:lang(shi-Tfng)) > :lang(shi-Tfng) { quotes: '\00ab' '\00bb' '\201e' '\201d' } /* « » „ ” */
     121    :root:lang(si),       :not(:lang(si)) > :lang(si)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     122    :root:lang(sk),       :not(:lang(sk)) > :lang(sk)             { quotes: '\201e' '\201c' '\201a' '\2018' } /* „ “ ‚ ‘ */
     123    :root:lang(sl),       :not(:lang(sl)) > :lang(sl)             { quotes: '\201e' '\201c' '\201a' '\2018' } /* „ “ ‚ ‘ */
     124    :root:lang(sn),       :not(:lang(sn)) > :lang(sn)             { quotes: '\201d' '\201d' '\2019' '\2019' } /* ” ” ’ ’ */
     125    :root:lang(so),       :not(:lang(so)) > :lang(so)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     126    :root:lang(sq),       :not(:lang(sq)) > :lang(sq)             { quotes: '\201e' '\201c' '\201a' '\2018' } /* „ “ ‚ ‘ */
     127    :root:lang(sr),       :not(:lang(sr)) > :lang(sr)             { quotes: '\201e' '\201c' '\201a' '\2018' } /* „ “ ‚ ‘ */
     128    :root:lang(sr-Latn),  :not(:lang(sr-Latn)) > :lang(sr-Latn)   { quotes: '\201e' '\201c' '\201a' '\2018' } /* „ “ ‚ ‘ */
     129    :root:lang(sv),       :not(:lang(sv)) > :lang(sv)             { quotes: '\201d' '\201d' '\2019' '\2019' } /* ” ” ’ ’ */
     130    :root:lang(sw),       :not(:lang(sw)) > :lang(sw)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     131    :root:lang(swc),      :not(:lang(swc)) > :lang(swc)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     132    :root:lang(ta),       :not(:lang(ta)) > :lang(ta)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     133    :root:lang(te),       :not(:lang(te)) > :lang(te)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     134    :root:lang(teo),      :not(:lang(teo)) > :lang(teo)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     135    :root:lang(th),       :not(:lang(th)) > :lang(th)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     136    :root:lang(ti-ER),    :not(:lang(ti-ER)) > :lang(ti-ER)       { quotes: '\2018' '\2019' '\201c' '\201d' } /* ‘ ’ “ ” */
     137    :root:lang(to),       :not(:lang(to)) > :lang(to)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     138    :root:lang(tr),       :not(:lang(tr)) > :lang(tr)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     139    :root:lang(twq),      :not(:lang(twq)) > :lang(twq)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     140    :root:lang(tzm),      :not(:lang(tzm)) > :lang(tzm)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     141    :root:lang(uk),       :not(:lang(uk)) > :lang(uk)             { quotes: '\00ab' '\00bb' '\201e' '\201c' } /* « » „ “ */
     142    :root:lang(ur),       :not(:lang(ur)) > :lang(ur)             { quotes: '\201d' '\201c' '\2019' '\2018' } /* ” “ ’ ‘ */
     143    :root:lang(vai),      :not(:lang(vai)) > :lang(vai)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     144    :root:lang(vai-Latn), :not(:lang(vai-Latn)) > :lang(vai-Latn) { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     145    :root:lang(vi),       :not(:lang(vi)) > :lang(vi)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     146    :root:lang(vun),      :not(:lang(vun)) > :lang(vun)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     147    :root:lang(xh),       :not(:lang(xh)) > :lang(xh)             { quotes: '\2018' '\2019' '\201c' '\201d' } /* ‘ ’ “ ” */
     148    :root:lang(xog),      :not(:lang(xog)) > :lang(xog)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     149    :root:lang(yav),      :not(:lang(yav)) > :lang(yav)           { quotes: '\00ab' '\00bb' '\00ab' '\00bb' } /* « » « » */
     150    :root:lang(yo),       :not(:lang(yo)) > :lang(yo)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     151    :root:lang(zh),       :not(:lang(zh)) > :lang(zh)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
     152    :root:lang(zh-Hant),  :not(:lang(zh-Hant)) > :lang(zh-Hant)   { quotes: '\300c' '\300d' '\300e' '\300f' } /* 「 」 『 』 */
     153    :root:lang(zu),       :not(:lang(zu)) > :lang(zu)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
    26154</style>
    27155
     
    31159</p>
    32160
    33 <span></span>
    34 <br>
    35 
    36 <span class="en"><span>en</span></span>
    37 <br>
    38 
    39 <span class="no"><span>no</span></span>
    40 <br>
    41 
    42 <span class="ro"><span>ro</span></span>
    43 <br>
    44 
    45 <span class="ru"><span>ru</span></span>
    46 <br>
    47 
    48 <span class="example"><span>example</span></span>
    49 <br>
    50 
    51 <p>
    52     <span class="example">example</span>
    53 </p>
     161<!-- Custom quotes are inlined to make this test fail if you don't implement CSS quotes. -->
     162<div lang="custom">ACcustomDB</div>
     163<q><q>default</q></q>
     164<q lang="af"><q>af</q></q>
     165<q lang="agq"><q>agq</q></q>
     166<q lang="ak"><q>ak</q></q>
     167<q lang="am"><q>am</q></q>
     168<q lang="ar"><q>ar</q></q>
     169<q lang="asa"><q>asa</q></q>
     170<q lang="az-Cyrl"><q>az-Cyrl</q></q>
     171<q lang="bas"><q>bas</q></q>
     172<q lang="bem"><q>bem</q></q>
     173<q lang="bez"><q>bez</q></q>
     174<q lang="bg"><q>bg</q></q>
     175<q lang="bm"><q>bm</q></q>
     176<q lang="bn"><q>bn</q></q>
     177<q lang="br"><q>br</q></q>
     178<q lang="brx"><q>brx</q></q>
     179<q lang="bs-Cyrl"><q>bs-Cyrl</q></q>
     180<q lang="ca"><q>ca</q></q>
     181<q lang="cgg"><q>cgg</q></q>
     182<q lang="chr"><q>chr</q></q>
     183<q lang="cs"><q>cs</q></q>
     184<q lang="da"><q>da</q></q>
     185<q lang="dav"><q>dav</q></q>
     186<q lang="de"><q>de</q></q>
     187<q lang="de-CH"><q>de-CH</q></q>
     188<q lang="dje"><q>dje</q></q>
     189<q lang="dua"><q>dua</q></q>
     190<q lang="dyo"><q>dyo</q></q>
     191<q lang="dz"><q>dz</q></q>
     192<q lang="ebu"><q>ebu</q></q>
     193<q lang="ee"><q>ee</q></q>
     194<q lang="el"><q>el</q></q>
     195<q lang="en"><q>en</q></q>
     196<q lang="en-GB"><q>en-GB</q></q>
     197<q lang="es"><q>es</q></q>
     198<q lang="et"><q>et</q></q>
     199<q lang="eu"><q>eu</q></q>
     200<q lang="ewo"><q>ewo</q></q>
     201<q lang="fa"><q>fa</q></q>
     202<q lang="ff"><q>ff</q></q>
     203<q lang="fi"><q>fi</q></q>
     204<q lang="fr"><q>fr</q></q>
     205<q lang="fr-CA"><q>fr-CA</q></q>
     206<q lang="fr-CH"><q>fr-CH</q></q>
     207<q lang="gsw"><q>gsw</q></q>
     208<q lang="gu"><q>gu</q></q>
     209<q lang="guz"><q>guz</q></q>
     210<q lang="ha"><q>ha</q></q>
     211<q lang="he"><q>he</q></q>
     212<q lang="hi"><q>hi</q></q>
     213<q lang="hr"><q>hr</q></q>
     214<q lang="hu"><q>hu</q></q>
     215<q lang="id"><q>id</q></q>
     216<q lang="ig"><q>ig</q></q>
     217<q lang="it"><q>it</q></q>
     218<q lang="ja"><q>ja</q></q>
     219<q lang="jgo"><q>jgo</q></q>
     220<q lang="jmc"><q>jmc</q></q>
     221<q lang="kab"><q>kab</q></q>
     222<q lang="kam"><q>kam</q></q>
     223<q lang="kde"><q>kde</q></q>
     224<q lang="kea"><q>kea</q></q>
     225<q lang="khq"><q>khq</q></q>
     226<q lang="ki"><q>ki</q></q>
     227<q lang="kkj"><q>kkj</q></q>
     228<q lang="kln"><q>kln</q></q>
     229<q lang="km"><q>km</q></q>
     230<q lang="kn"><q>kn</q></q>
     231<q lang="ko"><q>ko</q></q>
     232<q lang="ksb"><q>ksb</q></q>
     233<q lang="ksf"><q>ksf</q></q>
     234<q lang="lag"><q>lag</q></q>
     235<q lang="lg"><q>lg</q></q>
     236<q lang="ln"><q>ln</q></q>
     237<q lang="lo"><q>lo</q></q>
     238<q lang="lt"><q>lt</q></q>
     239<q lang="lu"><q>lu</q></q>
     240<q lang="luo"><q>luo</q></q>
     241<q lang="luy"><q>luy</q></q>
     242<q lang="lv"><q>lv</q></q>
     243<q lang="mas"><q>mas</q></q>
     244<q lang="mer"><q>mer</q></q>
     245<q lang="mfe"><q>mfe</q></q>
     246<q lang="mg"><q>mg</q></q>
     247<q lang="mgo"><q>mgo</q></q>
     248<q lang="mk"><q>mk</q></q>
     249<q lang="ml"><q>ml</q></q>
     250<q lang="mr"><q>mr</q></q>
     251<q lang="ms"><q>ms</q></q>
     252<q lang="mua"><q>mua</q></q>
     253<q lang="my"><q>my</q></q>
     254<q lang="naq"><q>naq</q></q>
     255<q lang="nb"><q>nb</q></q>
     256<q lang="nd"><q>nd</q></q>
     257<q lang="nl"><q>nl</q></q>
     258<q lang="nmg"><q>nmg</q></q>
     259<q lang="nn"><q>nn</q></q>
     260<q lang="nnh"><q>nnh</q></q>
     261<q lang="nus"><q>nus</q></q>
     262<q lang="nyn"><q>nyn</q></q>
     263<q lang="pl"><q>pl</q></q>
     264<q lang="pt"><q>pt</q></q>
     265<q lang="pt-PT"><q>pt-PT</q></q>
     266<q lang="rn"><q>rn</q></q>
     267<q lang="ro"><q>ro</q></q>
     268<q lang="rof"><q>rof</q></q>
     269<q lang="ru"><q>ru</q></q>
     270<q lang="rw"><q>rw</q></q>
     271<q lang="rwk"><q>rwk</q></q>
     272<q lang="saq"><q>saq</q></q>
     273<q lang="sbp"><q>sbp</q></q>
     274<q lang="seh"><q>seh</q></q>
     275<q lang="ses"><q>ses</q></q>
     276<q lang="sg"><q>sg</q></q>
     277<q lang="shi"><q>shi</q></q>
     278<q lang="shi-Tfng"><q>shi-Tfng</q></q>
     279<q lang="si"><q>si</q></q>
     280<q lang="sk"><q>sk</q></q>
     281<q lang="sl"><q>sl</q></q>
     282<q lang="sn"><q>sn</q></q>
     283<q lang="so"><q>so</q></q>
     284<q lang="sq"><q>sq</q></q>
     285<q lang="sr"><q>sr</q></q>
     286<q lang="sr-Latn"><q>sr-Latn</q></q>
     287<q lang="sv"><q>sv</q></q>
     288<q lang="sw"><q>sw</q></q>
     289<q lang="swc"><q>swc</q></q>
     290<q lang="ta"><q>ta</q></q>
     291<q lang="te"><q>te</q></q>
     292<q lang="teo"><q>teo</q></q>
     293<q lang="th"><q>th</q></q>
     294<q lang="ti-ER"><q>ti-ER</q></q>
     295<q lang="to"><q>to</q></q>
     296<q lang="tr"><q>tr</q></q>
     297<q lang="twq"><q>twq</q></q>
     298<q lang="tzm"><q>tzm</q></q>
     299<q lang="uk"><q>uk</q></q>
     300<q lang="ur"><q>ur</q></q>
     301<q lang="vai"><q>vai</q></q>
     302<q lang="vai-Latn"><q>vai-Latn</q></q>
     303<q lang="vi"><q>vi</q></q>
     304<q lang="vun"><q>vun</q></q>
     305<q lang="xh"><q>xh</q></q>
     306<q lang="xog"><q>xog</q></q>
     307<q lang="yav"><q>yav</q></q>
     308<q lang="yo"><q>yo</q></q>
     309<q lang="zh"><q>zh</q></q>
     310<q lang="zh-Hant"><q>zh-Hant</q></q>
     311<q lang="zu"><q>zu</q></q>
  • trunk/LayoutTests/fast/css-generated-content/quotes-lang.html

    r124518 r125476  
    22
    33<style>
    4    q:lang(example) {
    5         quotes: "A" "B";
    6    }
     4    :lang(custom) {
     5        quotes: "A" "B" "C" "D";
     6    }
    77</style>
    88
     
    1212</p>
    1313
    14 <q></q>
    15 <br>
    16 
    17 <!-- These languages are from the map in RenderQuote -->
     14<div lang="custom"><q><q>custom</q></q></div>
     15<q><q>default</q></q>
     16<q lang="af"><q>af</q></q>
     17<q lang="agq"><q>agq</q></q>
     18<q lang="ak"><q>ak</q></q>
     19<q lang="am"><q>am</q></q>
     20<q lang="ar"><q>ar</q></q>
     21<q lang="asa"><q>asa</q></q>
     22<q lang="az-Cyrl"><q>az-Cyrl</q></q>
     23<q lang="bas"><q>bas</q></q>
     24<q lang="bem"><q>bem</q></q>
     25<q lang="bez"><q>bez</q></q>
     26<q lang="bg"><q>bg</q></q>
     27<q lang="bm"><q>bm</q></q>
     28<q lang="bn"><q>bn</q></q>
     29<q lang="br"><q>br</q></q>
     30<q lang="brx"><q>brx</q></q>
     31<q lang="bs-Cyrl"><q>bs-Cyrl</q></q>
     32<q lang="ca"><q>ca</q></q>
     33<q lang="cgg"><q>cgg</q></q>
     34<q lang="chr"><q>chr</q></q>
     35<q lang="cs"><q>cs</q></q>
     36<q lang="da"><q>da</q></q>
     37<q lang="dav"><q>dav</q></q>
     38<q lang="de"><q>de</q></q>
     39<q lang="de-CH"><q>de-CH</q></q>
     40<q lang="dje"><q>dje</q></q>
     41<q lang="dua"><q>dua</q></q>
     42<q lang="dyo"><q>dyo</q></q>
     43<q lang="dz"><q>dz</q></q>
     44<q lang="ebu"><q>ebu</q></q>
     45<q lang="ee"><q>ee</q></q>
     46<q lang="el"><q>el</q></q>
    1847<q lang="en"><q>en</q></q>
    19 <br>
    20 
    21 <q lang="no"><q>no</q></q>
    22 <br>
    23 
     48<q lang="en-GB"><q>en-GB</q></q>
     49<q lang="es"><q>es</q></q>
     50<q lang="et"><q>et</q></q>
     51<q lang="eu"><q>eu</q></q>
     52<q lang="ewo"><q>ewo</q></q>
     53<q lang="fa"><q>fa</q></q>
     54<q lang="ff"><q>ff</q></q>
     55<q lang="fi"><q>fi</q></q>
     56<q lang="fr"><q>fr</q></q>
     57<q lang="fr-CA"><q>fr-CA</q></q>
     58<q lang="fr-CH"><q>fr-CH</q></q>
     59<q lang="gsw"><q>gsw</q></q>
     60<q lang="gu"><q>gu</q></q>
     61<q lang="guz"><q>guz</q></q>
     62<q lang="ha"><q>ha</q></q>
     63<q lang="he"><q>he</q></q>
     64<q lang="hi"><q>hi</q></q>
     65<q lang="hr"><q>hr</q></q>
     66<q lang="hu"><q>hu</q></q>
     67<q lang="id"><q>id</q></q>
     68<q lang="ig"><q>ig</q></q>
     69<q lang="it"><q>it</q></q>
     70<q lang="ja"><q>ja</q></q>
     71<q lang="jgo"><q>jgo</q></q>
     72<q lang="jmc"><q>jmc</q></q>
     73<q lang="kab"><q>kab</q></q>
     74<q lang="kam"><q>kam</q></q>
     75<q lang="kde"><q>kde</q></q>
     76<q lang="kea"><q>kea</q></q>
     77<q lang="khq"><q>khq</q></q>
     78<q lang="ki"><q>ki</q></q>
     79<q lang="kkj"><q>kkj</q></q>
     80<q lang="kln"><q>kln</q></q>
     81<q lang="km"><q>km</q></q>
     82<q lang="kn"><q>kn</q></q>
     83<q lang="ko"><q>ko</q></q>
     84<q lang="ksb"><q>ksb</q></q>
     85<q lang="ksf"><q>ksf</q></q>
     86<q lang="lag"><q>lag</q></q>
     87<q lang="lg"><q>lg</q></q>
     88<q lang="ln"><q>ln</q></q>
     89<q lang="lo"><q>lo</q></q>
     90<q lang="lt"><q>lt</q></q>
     91<q lang="lu"><q>lu</q></q>
     92<q lang="luo"><q>luo</q></q>
     93<q lang="luy"><q>luy</q></q>
     94<q lang="lv"><q>lv</q></q>
     95<q lang="mas"><q>mas</q></q>
     96<q lang="mer"><q>mer</q></q>
     97<q lang="mfe"><q>mfe</q></q>
     98<q lang="mg"><q>mg</q></q>
     99<q lang="mgo"><q>mgo</q></q>
     100<q lang="mk"><q>mk</q></q>
     101<q lang="ml"><q>ml</q></q>
     102<q lang="mr"><q>mr</q></q>
     103<q lang="ms"><q>ms</q></q>
     104<q lang="mua"><q>mua</q></q>
     105<q lang="my"><q>my</q></q>
     106<q lang="naq"><q>naq</q></q>
     107<q lang="nb"><q>nb</q></q>
     108<q lang="nd"><q>nd</q></q>
     109<q lang="nl"><q>nl</q></q>
     110<q lang="nmg"><q>nmg</q></q>
     111<q lang="nn"><q>nn</q></q>
     112<q lang="nnh"><q>nnh</q></q>
     113<q lang="nus"><q>nus</q></q>
     114<q lang="nyn"><q>nyn</q></q>
     115<q lang="pl"><q>pl</q></q>
     116<q lang="pt"><q>pt</q></q>
     117<q lang="pt-PT"><q>pt-PT</q></q>
     118<q lang="rn"><q>rn</q></q>
    24119<q lang="ro"><q>ro</q></q>
    25 <br>
    26 
     120<q lang="rof"><q>rof</q></q>
    27121<q lang="ru"><q>ru</q></q>
    28 <br>
    29 
    30 <q lang="example"><q>example</q></q>
    31 <br>
    32 
    33 <div lang="example">
    34     <p>
    35         <q>example</q>
    36     </p>
    37 </div>
     122<q lang="rw"><q>rw</q></q>
     123<q lang="rwk"><q>rwk</q></q>
     124<q lang="saq"><q>saq</q></q>
     125<q lang="sbp"><q>sbp</q></q>
     126<q lang="seh"><q>seh</q></q>
     127<q lang="ses"><q>ses</q></q>
     128<q lang="sg"><q>sg</q></q>
     129<q lang="shi"><q>shi</q></q>
     130<q lang="shi-Tfng"><q>shi-Tfng</q></q>
     131<q lang="si"><q>si</q></q>
     132<q lang="sk"><q>sk</q></q>
     133<q lang="sl"><q>sl</q></q>
     134<q lang="sn"><q>sn</q></q>
     135<q lang="so"><q>so</q></q>
     136<q lang="sq"><q>sq</q></q>
     137<q lang="sr"><q>sr</q></q>
     138<q lang="sr-Latn"><q>sr-Latn</q></q>
     139<q lang="sv"><q>sv</q></q>
     140<q lang="sw"><q>sw</q></q>
     141<q lang="swc"><q>swc</q></q>
     142<q lang="ta"><q>ta</q></q>
     143<q lang="te"><q>te</q></q>
     144<q lang="teo"><q>teo</q></q>
     145<q lang="th"><q>th</q></q>
     146<q lang="ti-ER"><q>ti-ER</q></q>
     147<q lang="to"><q>to</q></q>
     148<q lang="tr"><q>tr</q></q>
     149<q lang="twq"><q>twq</q></q>
     150<q lang="tzm"><q>tzm</q></q>
     151<q lang="uk"><q>uk</q></q>
     152<q lang="ur"><q>ur</q></q>
     153<q lang="vai"><q>vai</q></q>
     154<q lang="vai-Latn"><q>vai-Latn</q></q>
     155<q lang="vi"><q>vi</q></q>
     156<q lang="vun"><q>vun</q></q>
     157<q lang="xh"><q>xh</q></q>
     158<q lang="xog"><q>xog</q></q>
     159<q lang="yav"><q>yav</q></q>
     160<q lang="yo"><q>yo</q></q>
     161<q lang="zh"><q>zh</q></q>
     162<q lang="zh-Hant"><q>zh-Hant</q></q>
     163<q lang="zu"><q>zu</q></q>
  • trunk/Source/WebCore/ChangeLog

    r125475 r125476  
     12012-08-13  Elliott Sprehn  <esprehn@chromium.org>
     2
     3        Expand list of supported languages for RenderQuote to match WHATWG spec
     4        https://bugs.webkit.org/show_bug.cgi?id=93424
     5
     6        Reviewed by Eric Seidel.
     7
     8        Expand the table of quotes to include the 148 lang values and associated quotes
     9        from the WHATWG web-apps recommended styling spec.
     10
     11        Test: fast/css-generated-content/quotes-lang-case-insensitive.html
     12
     13        * rendering/RenderQuote.cpp: Added missing copyright.
     14        (WebCore::quotesDataLanguageMap): Expanded the table of quotes.
     15        (WebCore::basicQuotesData): Added a FIXME to switch to using stylized "en" quotes.
     16        * rendering/RenderQuote.h: Added missing copyright.
     17
    1182012-08-09  Kentaro Hara  <haraken@chromium.org>
    219
  • trunk/Source/WebCore/rendering/RenderQuote.cpp

    r125448 r125476  
    11/**
    22 * Copyright (C) 2011 Nokia Inc.  All rights reserved.
     3 * Copyright (C) 2012 Google Inc. All rights reserved.
    34 *
    45 * This library is free software; you can redistribute it and/or
     
    5758    if (staticQuotesMap.size())
    5859        return staticQuotesMap;
    59     // FIXME: Expand this table to include all the languages in https://bug-3234-attachments.webkit.org/attachment.cgi?id=2135
    60     staticQuotesMap.set("en", QuotesData::create(U("\x201C"), U("\x201D"), U("\x2018"), U("\x2019")).leakRef());
    61     staticQuotesMap.set("no", QuotesData::create(U("\x00AB"), U("\x00BB"), U("\x2039"), U("\x203A")).leakRef());
    62     staticQuotesMap.set("ro", QuotesData::create(U("\x201E"), U("\x201D")).leakRef());
    63     staticQuotesMap.set("ru", QuotesData::create(U("\x00AB"), U("\x00BB"), U("\x201E"), U("\x201C")).leakRef());
     60
     61    // Table of quotes from http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#quotes
     62    #define QUOTES_LANG(lang, o1, c1, o2, c2) staticQuotesMap.set(lang, QuotesData::create(U(o1), U(c1), U(o2), U(c2)).leakRef())
     63    QUOTES_LANG("af",            "\x201c", "\x201d", "\x2018", "\x2019");
     64    QUOTES_LANG("agq",           "\x201e", "\x201d", "\x201a", "\x2019");
     65    QUOTES_LANG("ak",            "\x201c", "\x201d", "\x2018", "\x2019");
     66    QUOTES_LANG("am",            "\x00ab", "\x00bb", "\x2039", "\x203a");
     67    QUOTES_LANG("ar",            "\x201d", "\x201c", "\x2019", "\x2018");
     68    QUOTES_LANG("asa",           "\x201c", "\x201d", "\x2018", "\x2019");
     69    QUOTES_LANG("az-Cyrl",       "\x00ab", "\x00bb", "\x2039", "\x203a");
     70    QUOTES_LANG("bas",           "\x00ab", "\x00bb", "\x201e", "\x201c");
     71    QUOTES_LANG("bem",           "\x201c", "\x201d", "\x2018", "\x2019");
     72    QUOTES_LANG("bez",           "\x201c", "\x201d", "\x2018", "\x2019");
     73    QUOTES_LANG("bg",            "\x201e", "\x201c", "\x201a", "\x2018");
     74    QUOTES_LANG("bm",            "\x00ab", "\x00bb", "\x201c", "\x201d");
     75    QUOTES_LANG("bn",            "\x201c", "\x201d", "\x2018", "\x2019");
     76    QUOTES_LANG("br",            "\x00ab", "\x00bb", "\x2039", "\x203a");
     77    QUOTES_LANG("brx",           "\x201c", "\x201d", "\x2018", "\x2019");
     78    QUOTES_LANG("bs-Cyrl",       "\x201e", "\x201c", "\x201a", "\x2018");
     79    QUOTES_LANG("ca",            "\x201c", "\x201d", "\x00ab", "\x00bb");
     80    QUOTES_LANG("cgg",           "\x201c", "\x201d", "\x2018", "\x2019");
     81    QUOTES_LANG("chr",           "\x201c", "\x201d", "\x2018", "\x2019");
     82    QUOTES_LANG("cs",            "\x201e", "\x201c", "\x201a", "\x2018");
     83    QUOTES_LANG("da",            "\x201c", "\x201d", "\x2018", "\x2019");
     84    QUOTES_LANG("dav",           "\x201c", "\x201d", "\x2018", "\x2019");
     85    QUOTES_LANG("de",            "\x201e", "\x201c", "\x201a", "\x2018");
     86    QUOTES_LANG("de-CH",         "\x00ab", "\x00bb", "\x2039", "\x203a");
     87    QUOTES_LANG("dje",           "\x201c", "\x201d", "\x2018", "\x2019");
     88    QUOTES_LANG("dua",           "\x00ab", "\x00bb", "\x2018", "\x2019");
     89    QUOTES_LANG("dyo",           "\x00ab", "\x00bb", "\x201c", "\x201d");
     90    QUOTES_LANG("dz",            "\x201c", "\x201d", "\x2018", "\x2019");
     91    QUOTES_LANG("ebu",           "\x201c", "\x201d", "\x2018", "\x2019");
     92    QUOTES_LANG("ee",            "\x201c", "\x201d", "\x2018", "\x2019");
     93    QUOTES_LANG("el",            "\x00ab", "\x00bb", "\x201c", "\x201d");
     94    QUOTES_LANG("en",            "\x201c", "\x201d", "\x2018", "\x2019");
     95    QUOTES_LANG("en-GB",         "\x201c", "\x201d", "\x2018", "\x2019");
     96    QUOTES_LANG("es",            "\x201c", "\x201d", "\x00ab", "\x00bb");
     97    QUOTES_LANG("et",            "\x201e", "\x201c", "\x201a", "\x2018");
     98    QUOTES_LANG("eu",            "\x201c", "\x201d", "\x00ab", "\x00bb");
     99    QUOTES_LANG("ewo",           "\x00ab", "\x00bb", "\x201c", "\x201d");
     100    QUOTES_LANG("fa",            "\x00ab", "\x00bb", "\x2039", "\x203a");
     101    QUOTES_LANG("ff",            "\x201e", "\x201d", "\x201a", "\x2019");
     102    QUOTES_LANG("fi",            "\x201d", "\x201d", "\x2019", "\x2019");
     103    QUOTES_LANG("fr",            "\x00ab", "\x00bb", "\x00ab", "\x00bb");
     104    QUOTES_LANG("fr-CA",         "\x00ab", "\x00bb", "\x2039", "\x203a");
     105    QUOTES_LANG("fr-CH",         "\x00ab", "\x00bb", "\x2039", "\x203a");
     106    QUOTES_LANG("gsw",           "\x00ab", "\x00bb", "\x2039", "\x203a");
     107    QUOTES_LANG("gu",            "\x201c", "\x201d", "\x2018", "\x2019");
     108    QUOTES_LANG("guz",           "\x201c", "\x201d", "\x2018", "\x2019");
     109    QUOTES_LANG("ha",            "\x201c", "\x201d", "\x2018", "\x2019");
     110    QUOTES_LANG("he",            "\x0022", "\x0022", "\x0027", "\x0027");
     111    QUOTES_LANG("hi",            "\x201c", "\x201d", "\x2018", "\x2019");
     112    QUOTES_LANG("hr",            "\x201e", "\x201c", "\x201a", "\x2018");
     113    QUOTES_LANG("hu",            "\x201e", "\x201d", "\x00bb", "\x00ab");
     114    QUOTES_LANG("id",            "\x201c", "\x201d", "\x2018", "\x2019");
     115    QUOTES_LANG("ig",            "\x201c", "\x201d", "\x2018", "\x2019");
     116    QUOTES_LANG("it",            "\x00ab", "\x00bb", "\x201c", "\x201d");
     117    QUOTES_LANG("ja",            "\x300c", "\x300d", "\x300e", "\x300f");
     118    QUOTES_LANG("jgo",           "\x00ab", "\x00bb", "\x2039", "\x203a");
     119    QUOTES_LANG("jmc",           "\x201c", "\x201d", "\x2018", "\x2019");
     120    QUOTES_LANG("kab",           "\x00ab", "\x00bb", "\x201c", "\x201d");
     121    QUOTES_LANG("kam",           "\x201c", "\x201d", "\x2018", "\x2019");
     122    QUOTES_LANG("kde",           "\x201c", "\x201d", "\x2018", "\x2019");
     123    QUOTES_LANG("kea",           "\x201c", "\x201d", "\x2018", "\x2019");
     124    QUOTES_LANG("khq",           "\x201c", "\x201d", "\x2018", "\x2019");
     125    QUOTES_LANG("ki",            "\x201c", "\x201d", "\x2018", "\x2019");
     126    QUOTES_LANG("kkj",           "\x00ab", "\x00bb", "\x2039", "\x203a");
     127    QUOTES_LANG("kln",           "\x201c", "\x201d", "\x2018", "\x2019");
     128    QUOTES_LANG("km",            "\x201c", "\x201d", "\x2018", "\x2019");
     129    QUOTES_LANG("kn",            "\x201c", "\x201d", "\x2018", "\x2019");
     130    QUOTES_LANG("ko",            "\x201c", "\x201d", "\x2018", "\x2019");
     131    QUOTES_LANG("ksb",           "\x201c", "\x201d", "\x2018", "\x2019");
     132    QUOTES_LANG("ksf",           "\x00ab", "\x00bb", "\x2018", "\x2019");
     133    QUOTES_LANG("lag",           "\x201d", "\x201d", "\x2019", "\x2019");
     134    QUOTES_LANG("lg",            "\x201c", "\x201d", "\x2018", "\x2019");
     135    QUOTES_LANG("ln",            "\x201c", "\x201d", "\x2018", "\x2019");
     136    QUOTES_LANG("lo",            "\x201c", "\x201d", "\x2018", "\x2019");
     137    QUOTES_LANG("lt",            "\x201e", "\x201c", "\x201e", "\x201c");
     138    QUOTES_LANG("lu",            "\x201c", "\x201d", "\x2018", "\x2019");
     139    QUOTES_LANG("luo",           "\x201c", "\x201d", "\x2018", "\x2019");
     140    QUOTES_LANG("luy",           "\x201e", "\x201c", "\x201a", "\x2018");
     141    QUOTES_LANG("lv",            "\x201c", "\x201d", "\x2018", "\x2019");
     142    QUOTES_LANG("mas",           "\x201c", "\x201d", "\x2018", "\x2019");
     143    QUOTES_LANG("mer",           "\x201c", "\x201d", "\x2018", "\x2019");
     144    QUOTES_LANG("mfe",           "\x201c", "\x201d", "\x2018", "\x2019");
     145    QUOTES_LANG("mg",            "\x00ab", "\x00bb", "\x201c", "\x201d");
     146    QUOTES_LANG("mgo",           "\x201c", "\x201d", "\x2018", "\x2019");
     147    QUOTES_LANG("mk",            "\x201e", "\x201c", "\x201a", "\x2018");
     148    QUOTES_LANG("ml",            "\x201c", "\x201d", "\x2018", "\x2019");
     149    QUOTES_LANG("mr",            "\x201c", "\x201d", "\x2018", "\x2019");
     150    QUOTES_LANG("ms",            "\x201c", "\x201d", "\x2018", "\x2019");
     151    QUOTES_LANG("mua",           "\x00ab", "\x00bb", "\x201c", "\x201d");
     152    QUOTES_LANG("my",            "\x201c", "\x201d", "\x2018", "\x2019");
     153    QUOTES_LANG("naq",           "\x201c", "\x201d", "\x2018", "\x2019");
     154    QUOTES_LANG("nb",            "\x00ab", "\x00bb", "\x2018", "\x2019");
     155    QUOTES_LANG("nd",            "\x201c", "\x201d", "\x2018", "\x2019");
     156    QUOTES_LANG("nl",            "\x201c", "\x201d", "\x2018", "\x2019");
     157    QUOTES_LANG("nmg",           "\x201e", "\x201d", "\x00ab", "\x00bb");
     158    QUOTES_LANG("nn",            "\x00ab", "\x00bb", "\x2018", "\x2019");
     159    QUOTES_LANG("nnh",           "\x00ab", "\x00bb", "\x201c", "\x201d");
     160    QUOTES_LANG("nus",           "\x201c", "\x201d", "\x2018", "\x2019");
     161    QUOTES_LANG("nyn",           "\x201c", "\x201d", "\x2018", "\x2019");
     162    QUOTES_LANG("pl",            "\x201e", "\x201d", "\x00ab", "\x00bb");
     163    QUOTES_LANG("pt",            "\x201c", "\x201d", "\x2018", "\x2019");
     164    QUOTES_LANG("pt-PT",         "\x00ab", "\x00bb", "\x201c", "\x201d");
     165    QUOTES_LANG("rn",            "\x201d", "\x201d", "\x2019", "\x2019");
     166    QUOTES_LANG("ro",            "\x201e", "\x201d", "\x00ab", "\x00bb");
     167    QUOTES_LANG("rof",           "\x201c", "\x201d", "\x2018", "\x2019");
     168    QUOTES_LANG("ru",            "\x00ab", "\x00bb", "\x201e", "\x201c");
     169    QUOTES_LANG("rw",            "\x00ab", "\x00bb", "\x2018", "\x2019");
     170    QUOTES_LANG("rwk",           "\x201c", "\x201d", "\x2018", "\x2019");
     171    QUOTES_LANG("saq",           "\x201c", "\x201d", "\x2018", "\x2019");
     172    QUOTES_LANG("sbp",           "\x201c", "\x201d", "\x2018", "\x2019");
     173    QUOTES_LANG("seh",           "\x201c", "\x201d", "\x2018", "\x2019");
     174    QUOTES_LANG("ses",           "\x201c", "\x201d", "\x2018", "\x2019");
     175    QUOTES_LANG("sg",            "\x00ab", "\x00bb", "\x201c", "\x201d");
     176    QUOTES_LANG("shi",           "\x00ab", "\x00bb", "\x201e", "\x201d");
     177    QUOTES_LANG("shi-Tfng",      "\x00ab", "\x00bb", "\x201e", "\x201d");
     178    QUOTES_LANG("si",            "\x201c", "\x201d", "\x2018", "\x2019");
     179    QUOTES_LANG("sk",            "\x201e", "\x201c", "\x201a", "\x2018");
     180    QUOTES_LANG("sl",            "\x201e", "\x201c", "\x201a", "\x2018");
     181    QUOTES_LANG("sn",            "\x201d", "\x201d", "\x2019", "\x2019");
     182    QUOTES_LANG("so",            "\x201c", "\x201d", "\x2018", "\x2019");
     183    QUOTES_LANG("sq",            "\x201e", "\x201c", "\x201a", "\x2018");
     184    QUOTES_LANG("sr",            "\x201e", "\x201c", "\x201a", "\x2018");
     185    QUOTES_LANG("sr-Latn",       "\x201e", "\x201c", "\x201a", "\x2018");
     186    QUOTES_LANG("sv",            "\x201d", "\x201d", "\x2019", "\x2019");
     187    QUOTES_LANG("sw",            "\x201c", "\x201d", "\x2018", "\x2019");
     188    QUOTES_LANG("swc",           "\x201c", "\x201d", "\x2018", "\x2019");
     189    QUOTES_LANG("ta",            "\x201c", "\x201d", "\x2018", "\x2019");
     190    QUOTES_LANG("te",            "\x201c", "\x201d", "\x2018", "\x2019");
     191    QUOTES_LANG("teo",           "\x201c", "\x201d", "\x2018", "\x2019");
     192    QUOTES_LANG("th",            "\x201c", "\x201d", "\x2018", "\x2019");
     193    QUOTES_LANG("ti-ER",         "\x2018", "\x2019", "\x201c", "\x201d");
     194    QUOTES_LANG("to",            "\x201c", "\x201d", "\x2018", "\x2019");
     195    QUOTES_LANG("tr",            "\x201c", "\x201d", "\x2018", "\x2019");
     196    QUOTES_LANG("twq",           "\x201c", "\x201d", "\x2018", "\x2019");
     197    QUOTES_LANG("tzm",           "\x201c", "\x201d", "\x2018", "\x2019");
     198    QUOTES_LANG("uk",            "\x00ab", "\x00bb", "\x201e", "\x201c");
     199    QUOTES_LANG("ur",            "\x201d", "\x201c", "\x2019", "\x2018");
     200    QUOTES_LANG("vai",           "\x201c", "\x201d", "\x2018", "\x2019");
     201    QUOTES_LANG("vai-Latn",      "\x201c", "\x201d", "\x2018", "\x2019");
     202    QUOTES_LANG("vi",            "\x201c", "\x201d", "\x2018", "\x2019");
     203    QUOTES_LANG("vun",           "\x201c", "\x201d", "\x2018", "\x2019");
     204    QUOTES_LANG("xh",            "\x2018", "\x2019", "\x201c", "\x201d");
     205    QUOTES_LANG("xog",           "\x201c", "\x201d", "\x2018", "\x2019");
     206    QUOTES_LANG("yav",           "\x00ab", "\x00bb", "\x00ab", "\x00bb");
     207    QUOTES_LANG("yo",            "\x201c", "\x201d", "\x2018", "\x2019");
     208    QUOTES_LANG("zh",            "\x201c", "\x201d", "\x2018", "\x2019");
     209    QUOTES_LANG("zh-Hant",       "\x300c", "\x300d", "\x300e", "\x300f");
     210    QUOTES_LANG("zu",            "\x201c", "\x201d", "\x2018", "\x2019");
     211    #undef QUOTES_LANG
     212
    64213    return staticQuotesMap;
    65214}
     
    67216static const QuotesData* basicQuotesData()
    68217{
     218    // FIXME: The default quotes should be the fancy quotes for "en".
    69219    static const QuotesData* staticBasicQuotes = QuotesData::create(U("\""), U("\""), U("'"), U("'")).leakRef();
    70220    return staticBasicQuotes;
  • trunk/Source/WebCore/rendering/RenderQuote.h

    r125220 r125476  
    11/*
    22 * Copyright (C) 2011 Nokia Inc. All rights reserved.
     3 * Copyright (C) 2012 Google Inc. All rights reserved.
    34 *
    45 * This library is free software; you can redistribute it and/or
Note: See TracChangeset for help on using the changeset viewer.