diff --git a/src/demo/widecolor.c b/src/demo/widecolor.c index 717030e7d..aa358ae1b 100644 --- a/src/demo/widecolor.c +++ b/src/demo/widecolor.c @@ -334,25 +334,8 @@ int widecolor_demo(struct notcurses* nc){ "Война и мир", "Бра́тья Карама́зовы", "Час сэканд-хэнд", - "ஸீரோ டிகிரி", "Tonio Kröger", - "بين القصرين", - "قصر الشوق", - "السكرية", - "三体", - "血的神话公元年湖南道县文革大屠杀纪实", - "三国演义", - "紅樓夢", - "Hónglóumèng", - "红楼梦", - "महाभारतम्", - "Mahābhāratam", - " रामायणम्", - "Rāmāyaṇam", - "القرآن", - "תּוֹרָה", - "תָּנָ״ךְ", - "Meg tudom enni az üveget, nem lesz tőle bajom", + "Meg tudom enni az üveget, nem lesztőle bajom", "Voin syödä lasia, se ei vahingoita minua", "Sáhtán borrat lása, dat ii leat bávččas", "Мон ярсан суликадо, ды зыян эйстэнзэ а ули", @@ -371,16 +354,6 @@ int widecolor_demo(struct notcurses* nc){ "Я могу есть стекло, оно мне не вредит", "Я магу есці шкло, яно мне не шкодзіць", "Osudy dobrého vojáka Švejka za světové války", - "Σίβνλλα τί ϴέλεις; respondebat illa: άπο ϴανεΐν ϴέλω", - "① На всей земле был один язык и одно наречие.", - "② А кад отидоше од истока, нађоше равницу у земљи сенарској, и населише се онде.", - "③ І сказалі адно аднаму: наробім цэглы і абпалім агнём. І стала ў іх цэгла замест камянёў, а земляная смала замест вапны.", - "④ І сказали вони: Тож місто збудуймо собі, та башту, а вершина її аж до неба. І вчинімо для себе ймення, щоб ми не розпорошилися по поверхні всієї землі.", - "A boy has never wept nor dashed a thousand kim", - "⑤ Господ слезе да ги види градот и кулата, што луѓето ги градеа.", - "⑥ И҆ речѐ гдⷭ҇ь: сѐ, ро́дъ є҆ди́нъ, и҆ ѹ҆стнѣ̀ є҆ди҄нѣ всѣ́хъ, и҆ сїѐ нача́ша твори́ти: и҆ нн҃ѣ не ѡ҆скꙋдѣ́ютъ ѿ ни́хъ всѧ҄, є҆ли҄ка а́҆ще восхотѧ́тъ твори́ти.", - "⑦ Ⱂⱃⰻⰻⰴⱑⱅⰵ ⰺ ⰺⰸⱎⰵⰴⱎⰵ ⱄⰿⱑⱄⰻⰿⱏ ⰺⰿⱏ ⱅⱆ ⱔⰸⱏⰹⰽⰻ ⰺⱈⱏ · ⰴⰰ ⱀⰵ ⱆⱄⰾⱏⰹⱎⰰⱅⱏ ⰽⱁⰶⰴⱁ ⰴⱃⱆⰳⰰ ⱄⰲⱁⰵⰳⱁ ⁖⸏", - "काचं शक्नोम्यत्तुम् । नोपहिनस्ति माम्", "kācaṃ śaknomyattum; nopahinasti mām", "ὕαλον ϕαγεῖν δύναμαι· τοῦτο οὔ με βλάπτει", "Μπορῶ νὰ φάω σπασμένα γυαλιὰ χωρὶς νὰ πάθω τίποτα", @@ -402,6 +375,33 @@ int widecolor_demo(struct notcurses* nc){ "Eu podo xantar cristais e non cortarme", "Posso comer vidro, não me faz mal", "Posso comer vidro, não me machuca", + "ஸீரோ டிகிரி", + "بين القصرين", + "قصر الشوق", + "السكرية", + "三体", + "血的神话公元年湖南道县文革大屠杀纪实", + "三国演义", + "紅樓夢", + "Hónglóumèng", + "红楼梦", + "महाभारतम्", + "Mahābhāratam", + " रामायणम्", + "Rāmāyaṇam", + "القرآن", + "תּוֹרָה", + "תָּנָ״ךְ", + "Σίβνλλα τί ϴέλεις; respondebat illa: άπο ϴανεΐν ϴέλω", + "① На всей земле был один язык и одно наречие.", + "② А кад отидоше од истока, нађоше равницу у земљи сенарској, и населише се онде.", + "③ І сказалі адно аднаму: наробім цэглы і абпалім агнём. І стала ў іх цэгла замест камянёў, а земляная смала замест вапны.", + "④ І сказали вони: Тож місто збудуймо собі, та башту, а вершина її аж до неба. І вчинімо для себе ймення, щоб ми не розпорошилися по поверхні всієї землі.", + "A boy has never wept nor dashed a thousand kim", + "⑤ Господ слезе да ги види градот и кулата, што луѓето ги градеа.", + "⑥ И҆ речѐ гдⷭ҇ь: сѐ, ро́дъ є҆ди́нъ, и҆ ѹ҆стнѣ̀ є҆ди҄нѣ всѣ́хъ, и҆ сїѐ нача́ша твори́ти: и҆ нн҃ѣ не ѡ҆скꙋдѣ́ютъ ѿ ни́хъ всѧ҄, є҆ли҄ка а́҆ще восхотѧ́тъ твори́ти.", + "⑦ Ⱂⱃⰻⰻⰴⱑⱅⰵ ⰺ ⰺⰸⱎⰵⰴⱎⰵ ⱄⰿⱑⱄⰻⰿⱏ ⰺⰿⱏ ⱅⱆ ⱔⰸⱏⰹⰽⰻ ⰺⱈⱏ · ⰴⰰ ⱀⰵ ⱆⱄⰾⱏⰹⱎⰰⱅⱏ ⰽⱁⰶⰴⱁ ⰴⱃⱆⰳⰰ ⱄⰲⱁⰵⰳⱁ ⁖⸏", + "काचं शक्नोम्यत्तुम् । नोपहिनस्ति माम्", "色は匂へど 散りぬるを 我が世誰ぞ 常ならむ 有為の奥山 今日越えて 浅き夢見じ 酔ひもせず", "いろはにほへど ちりぬるを わがよたれぞ つねならむ うゐのおくやま けふこえて あさきゆめみじ ゑひもせず", "मलाई थाहा छैन । म यहाँ काम मात्र गर्छु ", @@ -412,7 +412,7 @@ int widecolor_demo(struct notcurses* nc){ "2H₂ + O₂ ⇌ 2H₂O, R = 4.7 kΩ, ⌀ 200mm", "ði ıntəˈnæʃənəl fəˈnɛtık əsoʊsiˈeıʃn", "((V⍳V)=⍳⍴V)/V←,V ⌷←⍳→⍴∆∇⊃‾⍎⍕⌈", - "Eڿᛯℇ✈ಅΐʐ𝍇Щঅ℻ ⌬⌨ ⌣₰ ⠝ ‱ ‽ ח ֆ ∜ ⨀ IJႪ ⇠ ਐ ῼ இ ╁ ଠ ୭ ⅙ ㈣⧒ ₔ ⅷ ﭗ ゛ 〃 ・ ↂ ﻩ ✞ ℼ ⌧", + "Eڿᛯℇ✈ಅΐʐ𝍇Щঅ℻ ⌬⌨ ⌣₰ ⠝ ‱ ‽ ח ֆ ∜ ⨀ IJႪ ⇠ ਐ ῼ இ ╁ ଠ ୭ ⅙ ㈣⧒ ₔ ⅷ ﭗ ゛〃・ ↂ ﻩ ✞ ℼ ⌧", "M' podê cumê vidru, ca ta maguâ-m'", "Ami por kome glas anto e no ta hasimi daño", "六四事件八九民运动态网自由门天安门天安门法轮功李洪志六四天安门事件天安门大屠杀反右派斗争大跃进政策文化大革命人权民运自由独立I多党制台湾台湾T中华民国西藏土伯特唐古特达赖喇嘛法轮功新疆维吾尔自治区诺贝尔和平奖刘暁波民主言论思想反共反革命抗议运动骚乱暴乱骚扰扰乱抗暴平反维权示威游行李洪志法轮大法大法弟子强制断种强制堕胎民族净化人体实验肃清胡耀邦赵紫阳魏京生王丹还政于民和平演变激流中国北京之春大纪元时报评论共产党独裁专制压制统监视镇压迫害 侵略掠夺破坏拷问屠杀活摘器官诱拐买卖人口游进走私毒品卖淫春画赌博六合彩天安门天安门法轮功李洪志刘晓波动态网自由门", @@ -610,8 +610,13 @@ int widecolor_demo(struct notcurses* nc){ if(y >= maxy || x >= maxx){ break; } - if(isspace((*s)[idx])){ - ++idx; + wchar_t wcs; + int eaten = mbtowc(&wcs, &(*s)[idx], MB_CUR_MAX + 1); + if(eaten < 0){ + return -1; + } + if(iswspace(wcs)){ + idx += eaten; continue; } int ulen = 0;