% ansioem.sl -*- slang -*- % % Defines functions ansioem() and oemansi() % for converting from ansinew/latin1 to cp850 % and vice versa. % The functions operate on the marked region or (if no region % is marked) the whole buffer. % % JL 2001/07/13 static variable Ansi_To_Oem_Table = String_Type[256]; static variable Oem_To_Ansi_Table = String_Type[256]; static define add_to_tables (oem, ansi) { Oem_To_Ansi_Table[oem] = char (ansi); Ansi_To_Oem_Table[ansi] = char (oem); } . 145 230 add_to_tables % \ae . 155 248 add_to_tables % \o . 134 229 add_to_tables % \r a . 146 198 add_to_tables % \AE . 157 216 add_to_tables % \O . 143 197 add_to_tables % \r A . 160 225 add_to_tables % \'a . 130 233 add_to_tables % \'e . 161 237 add_to_tables % \'\i . 162 243 add_to_tables % \'o . 163 250 add_to_tables % \'u . 236 253 add_to_tables % \'y . 181 193 add_to_tables % \'A . 144 201 add_to_tables % \'E . 214 205 add_to_tables % \'I . 224 211 add_to_tables % \'O . 233 218 add_to_tables % \'U . 237 221 add_to_tables % \'Y . 133 224 add_to_tables % \`a . 138 232 add_to_tables % \`e . 141 236 add_to_tables % \`\i . 149 242 add_to_tables % \`o . 151 249 add_to_tables % \`u . 183 192 add_to_tables % \`A . 212 200 add_to_tables % \`E . 222 204 add_to_tables % \`I . 227 210 add_to_tables % \`O . 235 217 add_to_tables % \`U . 132 228 add_to_tables % \"a . 137 235 add_to_tables % \"e . 139 239 add_to_tables % \"\i . 148 246 add_to_tables % \"o . 129 252 add_to_tables % \"u . 152 255 add_to_tables % \"y . 142 196 add_to_tables % \"A . 211 203 add_to_tables % \"E . 216 207 add_to_tables % \"I . 153 214 add_to_tables % \"O . 154 220 add_to_tables % \"U . 131 226 add_to_tables % \^a . 136 234 add_to_tables % \^e . 140 238 add_to_tables % \^\i . 147 244 add_to_tables % \^o . 150 251 add_to_tables % \^u . 182 194 add_to_tables % \^A . 210 202 add_to_tables % \^E . 215 206 add_to_tables % \^I . 226 212 add_to_tables % \^O . 234 219 add_to_tables % \^U . 198 227 add_to_tables % \~a . 164 241 add_to_tables % \~n . 228 245 add_to_tables % \~o . 199 195 add_to_tables % \~A . 165 209 add_to_tables % \~N . 229 213 add_to_tables % \~O . 171 189 add_to_tables % \textonehalf . 172 188 add_to_tables % \textonequarter . 243 190 add_to_tables % \textthreequarters . 135 231 add_to_tables % \c c . 128 199 add_to_tables % \c C . 225 223 add_to_tables % \ss . 208 240 add_to_tables % \dh . 209 208 add_to_tables % \DH . 231 254 add_to_tables % \th . 232 222 add_to_tables % \TH . 245 167 add_to_tables % \S . 156 163 add_to_tables % \pounds . 159 131 add_to_tables % \textflorin -- not in Latin1 . 189 162 add_to_tables % \textcent . 190 165 add_to_tables % \textyen . 207 164 add_to_tables % \textcurrency -- not in Latin1 . 166 170 add_to_tables % \mathordfeminine . 167 186 add_to_tables % \mathordmasculine . 221 166 add_to_tables % \textbrokenbar . 184 169 add_to_tables % \copyright . 169 174 add_to_tables % \textregistered . 158 215 add_to_tables % \times . 246 247 add_to_tables % \div . 170 172 add_to_tables % \lnot . 241 177 add_to_tables % \pm . 230 181 add_to_tables % \mu . 251 185 add_to_tables % \mathonesuperior . 253 178 add_to_tables % \mathtwosuperior . 252 179 add_to_tables % \maththreesuperior . 168 191 add_to_tables % \textquestiondown . 173 161 add_to_tables % \textexclamdown . 244 182 add_to_tables % \P . 174 171 add_to_tables % \guillemotleft . 175 187 add_to_tables % \guillemotright . 240 150 add_to_tables % \textendash -- not in Latin1 . 250 183 add_to_tables % \textperiodcentered . 247 184 add_to_tables % \c\ . 248 176 add_to_tables % \textdegree . 249 168 add_to_tables % \"{} . 238 175 add_to_tables % \={} . 239 180 add_to_tables % \'{} . 255 160 add_to_tables % \nobreakspace % Det ideelle er at der er en enentydig sammenhng mellem de to kodninger. % De tegn der findes i den ene men ikke i den anden, parres med et arbitrrt % tegn fra den anden. % Tegn der findes i CP850 men ikke i Ansinew/Latin1: . 213 128 add_to_tables % \i\ . 254 129 add_to_tables % \textblacksquare % right name? % Tegn der findes i Ansinew men ikke i CP850 (og ikke i Latin1): . 200 130 add_to_tables % \quotesinglbase . 201 132 add_to_tables % \quotedblbase . 202 139 add_to_tables % \guilsinglleft . 203 155 add_to_tables % \guilsinglright . 204 145 add_to_tables % \textquoteleft . 205 146 add_to_tables % \textquoteright . 206 147 add_to_tables % \textquotedblleft . 217 148 add_to_tables % \textquotedblright . 218 133 add_to_tables % \dots . 219 134 add_to_tables % \dag . 220 135 add_to_tables % \ddag . 223 149 add_to_tables % \textbullet . 185 136 add_to_tables % \^{} . 186 152 add_to_tables % \~{} . 176 138 add_to_tables % \v S . 177 154 add_to_tables % \v s . 178 140 add_to_tables % \OE . 179 156 add_to_tables % \oe . 180 159 add_to_tables % \"Y . 187 153 add_to_tables % \texttrademark . 188 137 add_to_tables % \textperthousand . 191 151 add_to_tables % \textemdash . 192 173 add_to_tables % \- % Tegn der hverken findes i Ansinew eller i CP850: . 193 141 add_to_tables . 194 142 add_to_tables . 195 143 add_to_tables . 196 144 add_to_tables . 197 157 add_to_tables . 242 158 add_to_tables static define _translate_using_table (t) { push_spot (); !if (is_visible_mark ()) { % if no region is marked, then translate the whole buffer bob (); push_mark (); eob (); translate_region (t); pop_mark_1 (); } else translate_region (t); pop_spot (); } define oemansi () { _translate_using_table (Oem_To_Ansi_Table); } define ansioem () { _translate_using_table (Ansi_To_Oem_Table); } provide ("ansioem");