comparison twt_review.txt @ 12:9cb53ac26388

mostly done with o-umlaut
author Henry S. Thompson <ht@inf.ed.ac.uk>
date Thu, 01 May 2025 11:35:23 +0100
parents bc100f494ca0
children
comparison
equal deleted inserted replaced
11:bc100f494ca0 12:9cb53ac26388
76 76
77 d) In the second media type registration in 12.2 77 d) In the second media type registration in 12.2
78 "represented as a JSON Object" -> 78 "represented as a JSON Object" ->
79 'represented as UTF-8 encoded "JSON text" as defined in RFC 8529' 79 'represented as UTF-8 encoded "JSON text" as defined in RFC 8529'
80 80
81 e) Include RFC 8529 in the 13.1 81 e) Include RFC 8529 in 13.1
82 82
83 Appendix B. 83 Appendix B.
84 84
85 The above problem resurfaces here, with confusion between three 85 The above problem resurfaces here, with confusion between three
86 possible interpretations, in the terms of RFC 8529, of what is 86 possible interpretations, in the terms of RFC 8529, of what is
106 Its first line appears indistinguishable from that shown for the 106 Its first line appears indistinguishable from that shown for the
107 JSON object in the preceding figure, but is in fact different. 107 JSON object in the preceding figure, but is in fact different.
108 108
109 In the first figure, construed as a "JSON text", the o-umlaut 109 In the first figure, construed as a "JSON text", the o-umlaut
110 glyph denotes a single Unicode character in a six-character 110 glyph denotes a single Unicode character in a six-character
111 object member's value. 111 representation of a six-character object member string value.
112
113 Construed as depicting a JSON object, the o-umlaut denotes a
114 single Unicode code-point (U+00F6), either in the abstract or in
115 some implementation-dependent internal representation, part of an
116 object member value.
117 112
118 However in the second figure, second alternative, the o-umlaut 113 However in the second figure, second alternative, the o-umlaut
119 corresponds to a _two_-byte UTF-8 sub-part of the JSON encoding of 114 corresponds to a _two_-byte UTF-8 sub-part of the JSON encoding of
120 that value as a seven-byte UTF-8 byte sequence, either in some 115 that value as a seven-byte UTF-8 byte sequence, either in some
121 internal representation or an external stream or file. 116 internal representation or an external stream or file.
122 117
123 What to do? 118 What to do? First, add something similar to
119 https://www.ietf.org/archive/id/draft-bray-unichars-14.html#name-notation
120 Then, whenever presenting JSON, always indicate whether what is
121 being shown is JSON text or JSON-encoded text (i.e. UTF-8 encoded
122 JSON text). In JSON text, always include a version using the
123 U+xxxx notation whenever the underlying string contains non-ASCII
124 characters. In JSON-encoded text, _always_ use the %xnn notation
125 for non-ASCII characters.
126
127 Some examples of a possible way of indicating JSON text and
128 JSON-encoded text, from section 4.2.1
129
130 Replace the first figure with these two:
131
132 _________________________________________________________
133 |*JT* |
134 | |
135 | ["_26bc4LT-ac6q2KI6cBW5es", "family_name", "Möbius"] |
136 | ^ |
137 | | |
138 | X+00F6 |
139 | |
140 |________________________________________________________|
141
142 _______________________________________________________________
143 |*J-ET* |
144 | |
145 | ["_26bc4LT-ac6q2KI6cBW5es", "family_name", "M%xc3%xb6bius"] |
146 | |
147 |_______________________________________________________________|
148
149 and the first bullet of the three alternatives which follow with
150
151 * A different way to encode the unicode o-umlaut:
152
153 ______________________________________________________________
154 |*JT* |
155 | |
156 | ["_26bc4LT-ac6q2KI6cBW5es", "family_name", "M\x00f6bius"] |
157 | |
158 |_____________________________________________________________|
159
160 ______________________________________________________________
161 |*J-ET* |
162 | |
163 | ["_26bc4LT-ac6q2KI6cBW5es", "family_name", "M\x00f6bius"] |
164 | |
165 |_____________________________________________________________|
166
167 WyJfMjZiYzRMVC1hYzZxMktJNmNCVzVlcyIsICJmYW1pbHlfbmFtZSIsICJNX
168 HUwMGY2Yml1cyJd
169
170 And throughout the examples in Appendix A, label the initial figure
171 with *JT* and the 'Content' boxes with *J-ET*. You don't need to
172 gloss every Chinese/German strings with their U+xxxx version.
124 173
125 *Nits* 174 *Nits*
126 175
127 4. "(for those who celebrate)" will be anywhere from obscure to 176 4. "(for those who celebrate)" will be anywhere from obscure to
128 confusing for many readers from many cultures -- best to remove it. 177 confusing for many readers from many cultures -- best to remove it.