@@ -3073,7 +3073,58 @@ Cluster matching</h3>
30733073<h3 id="char-handling-issues">
30743074Character handling issues</h3>
30753075
3076- Issue: Import from level 3
3076+
3077+ CSS font matching is always performed on
3078+ text runs containing Unicode characters [[!UNICODE]] ,
3079+ so documents using legacy encodings are assumed
3080+ to have been transcoded before matching fonts.
3081+ For fonts containing <a>character maps</a>
3082+ for both legacy encodings and Unicode,
3083+ the contents of the legacy encoding <a>character map</a>
3084+ must have no effect on the results
3085+ of the font matching process.
3086+
3087+ The font matching process does not assume
3088+ that text runs are in either normalized or denormalized form
3089+ (see [[CHARMOD-NORM]] for more details).
3090+ Fonts may only support precomposed forms
3091+ and not the decomposed sequence of base character plus combining marks.
3092+ Authors should always tailor their choice of fonts to their content,
3093+ including whether that content contains
3094+ normalized or denormalized character streams.
3095+
3096+ If a given character is a Private-Use Area Unicode codepoint,
3097+ user agents must only
3098+ match font families named in the 'font-family' list
3099+ that are not generic families.
3100+ If none of the families
3101+ named in the 'font-family' list
3102+ contain a glyph for that codepoint,
3103+ user agents must display some form of missing glyph symbol
3104+ for that character
3105+ rather than attempting <a>system font fallback</a>
3106+ for that codepoint.
3107+ When matching the replacement character U+FFFD,
3108+ user agents may skip the font matching process
3109+ and immediately display
3110+ some form of missing glyph symbol,
3111+ they are not required to display
3112+ the glyph from the font
3113+ that would be selected
3114+ by the font matching process.
3115+
3116+ In general,
3117+ the fonts for a given family
3118+ will all have the same
3119+ or similar <a>character maps</a> .
3120+ The process outlined here
3121+ is designed to handle even font families
3122+ containing faces with widely variant <a>character maps</a> .
3123+ However,
3124+ authors are cautioned that
3125+ the use of such families
3126+ can lead to unexpected results.
3127+
30773128
30783129<!-- start new list wrt Fonts 3, if needed
30793130<h3 id="font-matching-changes">
0 commit comments