<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
About format 4 cmap subtables, the spec says:<br>
<blockquote type="cite"><span style="color: rgb(0, 0, 0);
font-family: Georgia, 'Times New Roman', Times, serif;
font-size: 13px; font-style: normal; font-variant: normal;
font-weight: normal; letter-spacing: normal; line-height:
normal; orphans: auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
background-color: rgb(255, 255, 255); display: inline
!important; float: none;">For the search to terminate, the final
endCode value must be 0xFFFF. This segment need not contain any
valid mappings. (It can just map the single character code
0xFFFF to missingGlyph). However, the segment must be present.</span></blockquote>
<br>
Is it correct to say that the final segment <i>may</i> map
characters preceding 0xFFFF, as long as 0xFFFF is the endCode value
of this final segment?<br>
<br>
For example, is it legal to have a final segment described by:<br>
<blockquote>startCode = 0xFFFC<br>
endCode = 0xFFFF<br>
idDelta = 0<br>
idRangeOffset calculated to reference the final 4 values in the
glyphIdArray.<br>
</blockquote>
?<br>
<br>
I have created a small font that has such a final segment in the
format 4 cmap subtables. You can view/download this font at<br>
<br>
<a class="moz-txt-link-freetext" href="https://drive.google.com/file/d/0B8wtA_xvdI4-dGRlOEczYTI5eGs/edit?usp=sharing">https://drive.google.com/file/d/0B8wtA_xvdI4-dGRlOEczYTI5eGs/edit?usp=sharing</a><br>
<br>
OTSanitizer built into Firefox seems to accept the font just fine,
and Font Validator does not complain about the cmap table.<br>
<br>
However Windows 7 (and 8.1 I believe) will not install or preview
the font, complaining that it is "not a valid font file", unless I
change the cmap so that the final segment has both startCode and
endCode of 0xFFFF. <br>
<br>
So is the above structure valid or not?<br>
<br>
Thanks,<br>
<br>
Bob<br>
</body>
</html>