XPSer

Hi ,all

I got a XPS file using xpswriter from a PDF file and then I opened its one page using Ultraedit-32.

What I saw was that all of the UnicodeString cannot be displayed correctly.

like this

<Glyphs Fill="#ff000000" FontUri="/Documents/1/Resources/Fonts/7596ED3E-F28A-41D1-A08A-A903EDFD9E91.odttf" FontRenderingEmSize="11.6805" StyleSimulations="None" OriginX="110.4" OriginY="133.92" Indices="45;41,61;41,59;41,119;45;82,59;88;73,61;86;82;69,59;88,61;77;83;82,59;69;80,118;39,61;83,59;82;74;73,61;86,58;73,61;82;71;73,117;83;82,121;39;83,59;81;84,61;89;88,59;73;86,118;58,61;77,58;87,61;77;83;82,59;16,119;39,61;83;86,59;74;89,61;16,117;43,61;86;73;73,61;71,59;73;16,118;55;73,59;84;88,61;73;81,59;70;73,61;86,119;21,59;29;29;29" UnicodeString="??????????????????????????????????????????????????????????????????????" />

The first 4 characters are "IEEE".

Could anyone help me

Thanks in advance.



Re: XML Paper Specification (XPS) Problems about Glyphs

nixps

Hi,

Can you post or send the file Than I could have a look.


regards,
nixps





Re: XML Paper Specification (XPS) Problems about Glyphs

XPSer

Hi,

What do you mean the file

The PDF file or its relatted XPS file

If you want , I can send you through msn jetzhang@hotmail.co.jp.

Or you can leave me your EMAIL .

Or you can download yourself ,it is

Texture Synthesis by Non-parametric Sampling
Alexei A. Efros and Thomas K. Leung
Computer Science Division
University of California, Berkeley
Berkeley, CA 94720-1776, U.S.A.

Thanks a lot.





Re: XML Paper Specification (XPS) Problems about Glyphs

XPSer

I dump the font file which is used by the first sentence "IEEE... ..."in the paper.

The dump result is :

; TrueType v1.0 Dump Program - v1.8, Oct 29 2002, rrt, dra, gch, ddb, lcp, pml
; Copyright (C) 1991 ZSoft Corporation. All rights reserved.
; Portions Copyright (C) 1991-2001 Microsoft Corporation. All rights reserved.

; Dumping file 'a.ttf'

Offset Table
------ -----
sfnt version: 1.0
numTables = 10
searchRange = 128
entrySelector = 3
rangeShift = 32

0. 'OS/2' - chksm = 0xFEFFFB73, off = 0x00000128, len = 78
1. 'cmap' - chksm = 0x1C141250, off = 0x00000400, len = 504
2. 'glyf' - chksm = 0xD39C454E, off = 0x000005F8, len = 8966
3. 'head' - chksm = 0x62E9435D, off = 0x000000AC, len = 54
4. 'hhea' - chksm = 0x069203C9, off = 0x000000E4, len = 36
5. 'hmtx' - chksm = 0x616D054F, off = 0x00000178, len = 648
6. 'loca' - chksm = 0xA52B9B94, off = 0x00002900, len = 458
7. 'maxp' - chksm = 0x00E80050, off = 0x00000108, len = 32
8. 'name' - chksm = 0xC73660FB, off = 0x00002ACC, len = 336
9. 'post' - chksm = 0xFF9F0032, off = 0x00002C1C, len = 32

'cmap' Table - Character To Index Map
-------------------------------------
Size = 504 bytes
'cmap' version: 0
numTables: 2

Subtable 1. Platform ID: 1
Specific ID: 0
'cmap' Offset: 0x00000014
->Format: 0 : Byte encoding table
Length: 262
Version: 0

Char 0 -> Index 1
Char 1 -> Index 0
Char 2 -> Index 0
Char 3 -> Index 0
Char 4 -> Index 0
Char 5 -> Index 0
Char 6 -> Index 0
Char 7 -> Index 0
Char 8 -> Index 1
Char 9 -> Index 2
Char 10 -> Index 0
Char 11 -> Index 0
Char 12 -> Index 0
Char 13 -> Index 1
Char 14 -> Index 0
Char 15 -> Index 0
Char 16 -> Index 0
Char 17 -> Index 0
Char 18 -> Index 0
Char 19 -> Index 0
Char 20 -> Index 0
Char 21 -> Index 0
Char 22 -> Index 0
Char 23 -> Index 0
Char 24 -> Index 0
Char 25 -> Index 0
Char 26 -> Index 0
Char 27 -> Index 0
Char 28 -> Index 0
Char 29 -> Index 1
Char 30 -> Index 0
Char 31 -> Index 0
Char 32 -> Index 0
Char 33 -> Index 0
Char 34 -> Index 0
Char 35 -> Index 0
Char 36 -> Index 0
Char 37 -> Index 0
Char 38 -> Index 0
Char 39 -> Index 0
Char 40 -> Index 0
Char 41 -> Index 0
Char 42 -> Index 0
Char 43 -> Index 0
Char 44 -> Index 0
Char 45 -> Index 0
Char 46 -> Index 0
Char 47 -> Index 0
Char 48 -> Index 0
Char 49 -> Index 0
Char 50 -> Index 0
Char 51 -> Index 0
Char 52 -> Index 0
Char 53 -> Index 0
Char 54 -> Index 0
Char 55 -> Index 0
Char 56 -> Index 0
Char 57 -> Index 0
Char 58 -> Index 0
Char 59 -> Index 0
Char 60 -> Index 0
Char 61 -> Index 0
Char 62 -> Index 0
Char 63 -> Index 0
Char 64 -> Index 0
Char 65 -> Index 0
Char 66 -> Index 0
Char 67 -> Index 0
Char 68 -> Index 0
Char 69 -> Index 0
Char 70 -> Index 0
Char 71 -> Index 0
Char 72 -> Index 0
Char 73 -> Index 0
Char 74 -> Index 0
Char 75 -> Index 0
Char 76 -> Index 0
Char 77 -> Index 0
Char 78 -> Index 0
Char 79 -> Index 0
Char 80 -> Index 0
Char 81 -> Index 0
Char 82 -> Index 0
Char 83 -> Index 0
Char 84 -> Index 0
Char 85 -> Index 0
Char 86 -> Index 0
Char 87 -> Index 0
Char 88 -> Index 0
Char 89 -> Index 0
Char 90 -> Index 0
Char 91 -> Index 0
Char 92 -> Index 0
Char 93 -> Index 0
Char 94 -> Index 0
Char 95 -> Index 0
Char 96 -> Index 0
Char 97 -> Index 0
Char 98 -> Index 0
Char 99 -> Index 0
Char 100 -> Index 0
Char 101 -> Index 0
Char 102 -> Index 0
Char 103 -> Index 0
Char 104 -> Index 0
Char 105 -> Index 0
Char 106 -> Index 0
Char 107 -> Index 0
Char 108 -> Index 0
Char 109 -> Index 0
Char 110 -> Index 0
Char 111 -> Index 0
Char 112 -> Index 0
Char 113 -> Index 0
Char 114 -> Index 0
Char 115 -> Index 0
Char 116 -> Index 0
Char 117 -> Index 0
Char 118 -> Index 0
Char 119 -> Index 0
Char 120 -> Index 0
Char 121 -> Index 0
Char 122 -> Index 0
Char 123 -> Index 0
Char 124 -> Index 0
Char 125 -> Index 0
Char 126 -> Index 0
Char 127 -> Index 0
Char 128 -> Index 0
Char 129 -> Index 0
Char 130 -> Index 0
Char 131 -> Index 0
Char 132 -> Index 0
Char 133 -> Index 0
Char 134 -> Index 0
Char 135 -> Index 0
Char 136 -> Index 0
Char 137 -> Index 0
Char 138 -> Index 0
Char 139 -> Index 0
Char 140 -> Index 0
Char 141 -> Index 0
Char 142 -> Index 0
Char 143 -> Index 0
Char 144 -> Index 0
Char 145 -> Index 0
Char 146 -> Index 0
Char 147 -> Index 0
Char 148 -> Index 0
Char 149 -> Index 0
Char 150 -> Index 0
Char 151 -> Index 0
Char 152 -> Index 0
Char 153 -> Index 0
Char 154 -> Index 0
Char 155 -> Index 0
Char 156 -> Index 0
Char 157 -> Index 0
Char 158 -> Index 0
Char 159 -> Index 0
Char 160 -> Index 0
Char 161 -> Index 0
Char 162 -> Index 0
Char 163 -> Index 0
Char 164 -> Index 0
Char 165 -> Index 0
Char 166 -> Index 94
Char 167 -> Index 93
Char 168 -> Index 92
Char 169 -> Index 91
Char 170 -> Index 90
Char 171 -> Index 89
Char 172 -> Index 88
Char 173 -> Index 87
Char 174 -> Index 86
Char 175 -> Index 0
Char 176 -> Index 84
Char 177 -> Index 83
Char 178 -> Index 82
Char 179 -> Index 81
Char 180 -> Index 80
Char 181 -> Index 79
Char 182 -> Index 0
Char 183 -> Index 77
Char 184 -> Index 76
Char 185 -> Index 75
Char 186 -> Index 74
Char 187 -> Index 73
Char 188 -> Index 72
Char 189 -> Index 71
Char 190 -> Index 70
Char 191 -> Index 69
Char 192 -> Index 0
Char 193 -> Index 0
Char 194 -> Index 0
Char 195 -> Index 0
Char 196 -> Index 0
Char 197 -> Index 0
Char 198 -> Index 0
Char 199 -> Index 0
Char 200 -> Index 0
Char 201 -> Index 59
Char 202 -> Index 0
Char 203 -> Index 0
Char 204 -> Index 56
Char 205 -> Index 55
Char 206 -> Index 54
Char 207 -> Index 0
Char 208 -> Index 52
Char 209 -> Index 51
Char 210 -> Index 50
Char 211 -> Index 0
Char 212 -> Index 48
Char 213 -> Index 0
Char 214 -> Index 0
Char 215 -> Index 45
Char 216 -> Index 0
Char 217 -> Index 0
Char 218 -> Index 42
Char 219 -> Index 0
Char 220 -> Index 0
Char 221 -> Index 0
Char 222 -> Index 0
Char 223 -> Index 37
Char 224 -> Index 0
Char 225 -> Index 0
Char 226 -> Index 0
Char 227 -> Index 0
Char 228 -> Index 0
Char 229 -> Index 0
Char 230 -> Index 30
Char 231 -> Index 0
Char 232 -> Index 0
Char 233 -> Index 0
Char 234 -> Index 0
Char 235 -> Index 25
Char 236 -> Index 24
Char 237 -> Index 23
Char 238 -> Index 22
Char 239 -> Index 21
Char 240 -> Index 0
Char 241 -> Index 0
Char 242 -> Index 18
Char 243 -> Index 17
Char 244 -> Index 0
Char 245 -> Index 0
Char 246 -> Index 0
Char 247 -> Index 13
Char 248 -> Index 12
Char 249 -> Index 0
Char 250 -> Index 0
Char 251 -> Index 0
Char 252 -> Index 0
Char 253 -> Index 0
Char 254 -> Index 0
Char 255 -> Index 5

Subtable 2. Platform ID: 3
Specific ID: 0
'cmap' Offset: 0x0000011A
->Format: 4 : Segment mapping to delta values
Length: 222
Version: 0
segCount: 16 (X2 = 32)
searchRange: 32
entrySelector: 4
rangeShift: 0
Seg 1 : St = F0A6, En = F0AE, D = 0, RO = 32, gId# = 0
Seg 2 : St = F0B0, En = F0B5, D = 0, RO = 48, gId# = 9
Seg 3 : St = F0B7, En = F0BF, D = 0, RO = 58, gId# = 15
Seg 4 : St = F0C9, En = F0C9, D = 3954, RO = 0, gId# = N/A
Seg 5 : St = F0CC, En = F0CE, D = 0, RO = 72, gId# = 24
Seg 6 : St = F0D0, En = F0D2, D = 0, RO = 76, gId# = 27
Seg 7 : St = F0D4, En = F0D4, D = 3932, RO = 0, gId# = N/A
Seg 8 : St = F0D7, En = F0D7, D = 3926, RO = 0, gId# = N/A
Seg 9 : St = F0DA, En = F0DA, D = 3920, RO = 0, gId# = N/A
Seg 10 : St = F0DF, En = F0DF, D = 3910, RO = 0, gId# = N/A
Seg 11 : St = F0E6, En = F0E6, D = 3896, RO = 0, gId# = N/A
Seg 12 : St = F0EB, En = F0EF, D = 0, RO = 70, gId# = 30
Seg 13 : St = F0F2, En = F0F3, D = 0, RO = 78, gId# = 35
Seg 14 : St = F0F7, En = F0F8, D = 0, RO = 80, gId# = 37
Seg 15 : St = F0FF, En = F0FF, D = 3846, RO = 0, gId# = N/A
Seg 16 : St = FFFF, En = FFFF, D = 1, RO = 0, gId# = N/A
glyphIdArray[0] = 94 (Offset = 0090)
glyphIdArray[1] = 93 (Offset = 0092)
glyphIdArray[2] = 92 (Offset = 0094)
glyphIdArray[3] = 91 (Offset = 0096)
glyphIdArray[4] = 90 (Offset = 0098)
glyphIdArray[5] = 89 (Offset = 009A)
glyphIdArrayDevil = 88 (Offset = 009C)
glyphIdArray[7] = 87 (Offset = 009E)
glyphIdArrayMusic = 86 (Offset = 00A0)
glyphIdArray[9] = 84 (Offset = 00A2)
glyphIdArray[10] = 83 (Offset = 00A4)
glyphIdArray[11] = 82 (Offset = 00A6)
glyphIdArray[12] = 81 (Offset = 00A8)
glyphIdArray[13] = 80 (Offset = 00AA)
glyphIdArray[14] = 79 (Offset = 00AC)
glyphIdArray[15] = 77 (Offset = 00AE)
glyphIdArray[16] = 76 (Offset = 00B0)
glyphIdArray[17] = 75 (Offset = 00B2)
glyphIdArray[18] = 74 (Offset = 00B4)
glyphIdArray[19] = 73 (Offset = 00B6)
glyphIdArray[20] = 72 (Offset = 00B8)
glyphIdArray[21] = 71 (Offset = 00BA)
glyphIdArray[22] = 70 (Offset = 00BC)
glyphIdArray[23] = 69 (Offset = 00BE)
glyphIdArray[24] = 56 (Offset = 00C0)
glyphIdArray[25] = 55 (Offset = 00C2)
glyphIdArray[26] = 54 (Offset = 00C4)
glyphIdArray[27] = 52 (Offset = 00C6)
glyphIdArray[28] = 51 (Offset = 00C8)
glyphIdArray[29] = 50 (Offset = 00CA)
glyphIdArray[30] = 25 (Offset = 00CC)
glyphIdArray[31] = 24 (Offset = 00CE)
glyphIdArray[32] = 23 (Offset = 00D0)
glyphIdArray[33] = 22 (Offset = 00D2)
glyphIdArray[34] = 21 (Offset = 00D4)
glyphIdArray[35] = 18 (Offset = 00D6)
glyphIdArray[36] = 17 (Offset = 00D8)
glyphIdArray[37] = 13 (Offset = 00DA)
glyphIdArray[38] = 12 (Offset = 00DC)

Which Means:
1. Char F0A6 -> Index 94
Char F0A7 -> Index 93
Char F0A8 -> Index 92
Char F0A9 -> Index 91
Char F0AA -> Index 90
Char F0AB -> Index 89
Char F0AC -> Index 88
Char F0AD -> Index 87
Char F0AE -> Index 86
2. Char F0B0 -> Index 84
Char F0B1 -> Index 83
Char F0B2 -> Index 82
Char F0B3 -> Index 81
Char F0B4 -> Index 80
Char F0B5 -> Index 79
3. Char F0B7 -> Index 77
Char F0B8 -> Index 76
Char F0B9 -> Index 75
Char F0BA -> Index 74
Char F0BB -> Index 73
Char F0BC -> Index 72
Char F0BD -> Index 71
Char F0BE -> Index 70
Char F0BF -> Index 69
4. Char F0C9 -> Index 59
5. Char F0CC -> Index 56
Char F0CD -> Index 55
Char F0CE -> Index 54
6. Char F0D0 -> Index 52
Char F0D1 -> Index 51
Char F0D2 -> Index 50
7. Char F0D4 -> Index 48
8. Char F0D7 -> Index 45
9. Char F0DA -> Index 42
10. Char F0DF -> Index 37
11. Char F0E6 -> Index 30
12. Char F0EB -> Index 25
Char F0EC -> Index 24
Char F0ED -> Index 23
Char F0EE -> Index 22
Char F0EF -> Index 21
13. Char F0F2 -> Index 18
Char F0F3 -> Index 17
14. Char F0F7 -> Index 13
Char F0F8 -> Index 12
15. Char F0FF -> Index 5

'glyf' Table - Glyph Data
-------------------------
Size = 8966 bytes, 228 entries
Glyph 45: off = 0x0000073E, len = 134
numberOfContours: 1
xMin: 21
yMin: 0
xMax: 368
yMax: 662

EndPoints
---------
0: 23

Length of Instructions: 0

Flags
-----
0: On
1: Off
2: Off
3: Off
4: On
5: On
6: On
7: On
8: Off
9: Off
10: Off
11: On
12: On
13: Off
14: Off
15: Off
16: On
17: On
18: On
19: On
20: Off
21: Off
22: Off
23: On

Coordinates
-----------
0: Rel ( 274, 125) -> Abs ( 274, 125)
1: Rel ( -1, -40) -> Abs ( 273, 85)
2: Rel ( 9, -47) -> Abs ( 282, 38)
3: Rel ( 40, -20) -> Abs ( 322, 18)
4: Rel ( 46, 0) -> Abs ( 368, 18)
5: Rel ( 0, -18) -> Abs ( 368, 0)
6: Rel ( -347, 0) -> Abs ( 21, 0)
7: Rel ( 0, 18) -> Abs ( 21, 18)
8: Rel ( 46, 0) -> Abs ( 67, 18)
9: Rel ( 40, 20) -> Abs ( 107, 38)
10: Rel ( 9, 47) -> Abs ( 116, 85)
11: Rel ( -1, 40) -> Abs ( 115, 125)
12: Rel ( 0, 412) -> Abs ( 115, 537)
13: Rel ( 1, 40) -> Abs ( 116, 577)
14: Rel ( -9, 47) -> Abs ( 107, 624)
15: Rel ( -40, 20) -> Abs ( 67, 644)
16: Rel ( -46, 0) -> Abs ( 21, 644)
17: Rel ( 0, 18) -> Abs ( 21, 662)
18: Rel ( 347, 0) -> Abs ( 368, 662)
19: Rel ( 0, -18) -> Abs ( 368, 644)
20: Rel ( -46, 0) -> Abs ( 322, 644)
21: Rel ( -40, -20) -> Abs ( 282, 624)
22: Rel ( -9, -47) -> Abs ( 273, 577)
23: Rel ( 1, -40) -> Abs ( 274, 537)

=======================================================================

=======================================================================

That is the question:

To this Glyphs, the first four characters are "IEEE".

<Glyphs Fill="#ff000000" FontUri="/Documents/1/Resources/Fonts/7596ED3E-F28A-41D1-A08A-A903EDFD9E91.odttf" FontRenderingEmSize="11.6805" StyleSimulations="None" OriginX="110.4" OriginY="133.92" Indices="45;41,61;41,59;41,119;45;82,59;88;73,61;86;82;69,59;88,61;77;83;82,59;69;80,118;39,61;83,59;82;74;73,61;86,58;73,61;82;71;73,117;83;82,121;39;83,59;81;84,61;89;88,59;73;86,118;58,61;77,58;87,61;77;83;82,59;16,119;39,61;83;86,59;74;89,61;16,117;43,61;86;73;73,61;71,59;73;16,118;55;73,59;84;88,61;73;81,59;70;73,61;86,119;21,59;29;29;29" UnicodeString="??????????????????????????????????????????????????????????????????????" />

The UnicodeString is memory is "0xF0D7 0xF0DB 0xF0DB 0xF0DB... ..." .

I. Is this a TRUE unicodestring

XPS specification says the UnicodeString is a Unicode scalar values.

2.Is this corresponds to "IEEE......"

3.What is the meaning of "0xF0D7" if "0xF0D7 0xF0DB 0xF0DB 0xF0DB... ..." corresponds to "IEEE".

4. if "0xF0D7 0xF0DB 0xF0DB 0xF0DB... ..." doesnot correspond to "IEEE" , what is the meaning of

"0xF0D7 0xF0DB 0xF0DB 0xF0DB... ..." .

5.Why there exist some code, like "0xF0DB" , arenot Indicated in above file

Could anyone help me

Thanks a lot.





Re: XML Paper Specification (XPS) Problems about Glyphs

XPSer





Re: XML Paper Specification (XPS) Problems about Glyphs

XPSer

Thanks everybody.

Now I have resolved this question.

The UnicodeString is not a pure UnicodeString and it is highly associated with application , like PDF.

The true meaning of UnicodeString is according to the EncodingID in the font file.