aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2009-07-24 21:04:09 +0000
committerIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2009-07-24 21:04:09 +0000
commitfaf5029722c523f8e8c35a97ce3b6a4eee4860a4 (patch)
treea619bd83806c979a33c2f142c827a19c4e411c16
pure-pd library for converting UTF-8 streams to unicode code number streamssvn2git-root
svn path=/trunk/externals/iem/unicode/; revision=11884
-rw-r--r--utf82codenumber-help.pd87
-rw-r--r--utf82codenumber.pd138
2 files changed, 225 insertions, 0 deletions
diff --git a/utf82codenumber-help.pd b/utf82codenumber-help.pd
new file mode 100644
index 0000000..293def1
--- /dev/null
+++ b/utf82codenumber-help.pd
@@ -0,0 +1,87 @@
+#N canvas 499 69 530 396 10;
+#X text 44 27 UTF-8 to Unicode code numbers;
+#X msg 130 58 64;
+#X floatatom 130 219 0 0 0 3 Unicode_code_number - -;
+#X text 161 59 ASCII '@';
+#X text 284 136 Lydian letter A;
+#X msg 148 136 240 \, 144 \, 164 \, 160;
+#X obj 130 162 utf82codenumber;
+#X msg 144 83 211 \, 153;
+#X text 209 85 schwa;
+#X msg 147 111 224 \, 188 \, 128;
+#X text 248 112 tibetian om;
+#X text 47 299 this object converts bytestreams of UTF-8 encoded strings
+and outputs the according Unicode code number of the letters (as stream).
+;
+#X text 51 344 you have to serialize UTF-8 lists as output by e.g.
+[binfile] and deserialize the Unicode code number lists for use by
+e.g. [text3d];
+#N canvas 37 117 450 356 example 0;
+#N canvas 0 0 450 437 serialize 0;
+#X obj 131 56 inlet list;
+#X obj 149 252 list split 1;
+#X obj 149 169 until;
+#X obj 149 207 list append;
+#X obj 149 148 t b l;
+#X obj 279 252 bang;
+#X obj 126 98 t b l b;
+#X obj 149 340 outlet stream;
+#X obj 291 161 outlet start;
+#X obj 39 158 outlet stop;
+#X connect 0 0 6 0;
+#X connect 1 0 7 0;
+#X connect 1 1 3 1;
+#X connect 1 2 5 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X connect 4 1 3 1;
+#X connect 5 0 2 1;
+#X connect 6 0 9 0;
+#X connect 6 1 4 0;
+#X connect 6 2 8 0;
+#X restore 109 103 pd serialize;
+#N canvas 0 0 450 300 deserialize 0;
+#X obj 84 82 inlet done;
+#X obj 186 81 inlet stream;
+#X obj 324 83 inlet reset;
+#X obj 107 260 outlet list;
+#X obj 190 138 list prepend;
+#X obj 189 160 t l l;
+#X obj 107 185 list prepend;
+#X obj 299 120 t b b;
+#X obj 107 143 t b;
+#X connect 0 0 8 0;
+#X connect 1 0 4 0;
+#X connect 2 0 7 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 1;
+#X connect 5 1 4 1;
+#X connect 6 0 3 0;
+#X connect 7 0 4 1;
+#X connect 7 1 6 1;
+#X connect 8 0 6 0;
+#X restore 109 207 pd deserialize;
+#X obj 149 158 utf82codenumber;
+#X obj 109 230 list prepend set;
+#X obj 109 253 list trim;
+#X msg 109 80 64 211 153 224 188 128 240 144 164 160;
+#X text 112 58 a multibyte UTF-8 encoded string;
+#X text 107 300 a string of unicode code numbers;
+#X msg 109 276;
+#X obj 46 230 loadbang;
+#X connect 0 0 1 0;
+#X connect 0 1 2 0;
+#X connect 0 2 1 2;
+#X connect 1 0 3 0;
+#X connect 2 0 1 1;
+#X connect 3 0 4 0;
+#X connect 4 0 8 0;
+#X connect 5 0 0 0;
+#X connect 9 0 3 0;
+#X restore 330 228 pd example;
+#X connect 1 0 6 0;
+#X connect 5 0 6 0;
+#X connect 6 0 2 0;
+#X connect 7 0 6 0;
+#X connect 9 0 6 0;
diff --git a/utf82codenumber.pd b/utf82codenumber.pd
new file mode 100644
index 0000000..63f690c
--- /dev/null
+++ b/utf82codenumber.pd
@@ -0,0 +1,138 @@
+#N canvas 14 0 649 526 10;
+#X obj 131 172 inlet byte;
+#X obj 131 316 outlet byte;
+#N canvas 327 0 461 427 shifter 0;
+#X obj 134 59 inlet;
+#X obj 134 387 outlet;
+#X obj 166 220 list split 1;
+#X obj 166 167 until;
+#X obj 166 195 list append;
+#X obj 266 220 bang;
+#X obj 166 246 +;
+#X obj 166 299 t f f;
+#X obj 166 144 t b l b;
+#X msg 215 265 0;
+#X obj 166 270 << 6;
+#X obj 166 321 >> 6;
+#X obj 134 359 f;
+#X obj 134 98 t b l;
+#X connect 0 0 13 0;
+#X connect 2 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 5 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 0;
+#X connect 5 0 3 1;
+#X connect 6 0 10 0;
+#X connect 7 0 11 0;
+#X connect 7 1 6 1;
+#X connect 8 0 3 0;
+#X connect 8 1 4 1;
+#X connect 8 2 9 0;
+#X connect 9 0 6 1;
+#X connect 10 0 7 0;
+#X connect 11 0 12 1;
+#X connect 12 0 1 0;
+#X connect 13 0 12 0;
+#X connect 13 1 8 0;
+#X restore 131 283 pd shifter;
+#X text 222 316 unicode code number;
+#X text 215 170 UTF-8 multibyte;
+#N canvas 431 13 593 499 stream2multibytelist 1;
+#X text 259 108 aux;
+#X text 323 111 2byte;
+#X text 386 113 3byte;
+#X text 446 113 4byte;
+#X text 180 112 1byte;
+#X obj 181 129 & 127;
+#X obj 321 129 & 31;
+#X obj 251 129 & 63;
+#X obj 390 129 & 15;
+#X obj 450 129 & 7;
+#X obj 251 150 t f b;
+#X msg 207 175 1;
+#X obj 181 268 ==;
+#X text 220 284 expectedbytes;
+#X obj 181 226 i;
+#X obj 226 266 t f b;
+#X msg 238 203 0;
+#X obj 204 371 t l l;
+#X obj 181 310 select 1;
+#X obj 181 393 list prepend;
+#X msg 353 174 2;
+#X obj 181 198 t b f;
+#X obj 181 151 t f b;
+#X obj 321 150 t f b;
+#X obj 212 226 + 1;
+#X obj 390 153 t f b;
+#X msg 422 177 3;
+#X obj 450 151 t f b;
+#X msg 482 175 4;
+#X obj 203 345 list prepend;
+#X obj 181 87 moses 128;
+#X obj 251 87 moses 192;
+#X obj 321 87 moses 224;
+#X obj 390 87 moses 240;
+#X obj 181 61 t f;
+#X obj 181 34 inlet;
+#X obj 181 429 outlet;
+#X obj 283 318 t b b;
+#X obj 340 274 print nuchar;
+#X obj 339 251 print cuchar;
+#X connect 5 0 22 0;
+#X connect 6 0 23 0;
+#X connect 7 0 10 0;
+#X connect 8 0 25 0;
+#X connect 9 0 27 0;
+#X connect 10 0 21 0;
+#X connect 11 0 15 0;
+#X connect 12 0 18 0;
+#X connect 14 0 12 0;
+#X connect 14 0 24 0;
+#X connect 14 0 39 0;
+#X connect 15 0 12 1;
+#X connect 15 0 38 0;
+#X connect 15 1 16 0;
+#X connect 15 1 37 0;
+#X connect 16 0 24 0;
+#X connect 17 0 19 1;
+#X connect 17 1 29 1;
+#X connect 18 0 19 0;
+#X connect 19 0 36 0;
+#X connect 20 0 15 0;
+#X connect 21 0 14 0;
+#X connect 21 1 29 0;
+#X connect 22 0 21 0;
+#X connect 22 1 11 0;
+#X connect 23 0 21 0;
+#X connect 23 1 20 0;
+#X connect 24 0 14 1;
+#X connect 25 0 21 0;
+#X connect 25 1 26 0;
+#X connect 26 0 15 0;
+#X connect 27 0 21 0;
+#X connect 27 1 28 0;
+#X connect 28 0 15 0;
+#X connect 29 0 17 0;
+#X connect 30 0 5 0;
+#X connect 30 1 31 0;
+#X connect 31 0 7 0;
+#X connect 31 1 32 0;
+#X connect 32 0 6 0;
+#X connect 32 1 33 0;
+#X connect 33 0 8 0;
+#X connect 33 1 9 0;
+#X connect 34 0 30 0;
+#X connect 35 0 34 0;
+#X connect 37 0 29 1;
+#X connect 37 1 19 1;
+#X restore 131 241 pd stream2multibytelist;
+#X text 47 43 converts a stream of UTF-8 bytes into a stream of Unicode
+code numbers;
+#X text 53 95 multibyte characters are not output before the last byte
+has been received;
+#X obj 244 277 print xxx;
+#X connect 0 0 5 0;
+#X connect 2 0 1 0;
+#X connect 5 0 2 0;
+#X connect 5 0 8 0;