diff --git a/ext/mbstring/common_codepoints.txt b/ext/mbstring/common_codepoints.txt index ff528592be007..f50b67fda48a4 100644 --- a/ext/mbstring/common_codepoints.txt +++ b/ext/mbstring/common_codepoints.txt @@ -4,12 +4,15 @@ 0x00A1 0x00AC # Pound sign, Yen sign, copyright sign... 0x00AE 0x00FF # Accented Latin characters 0x0104 0x0107 # Polish -0x0118 0x0119 # Polish +0x010C 0x010F # Czech +0x0118 0x011B # Polish, Czech 0x0141 0x0144 # Polish -0x015A 0x015B # Polish +0x0147 0x0148 # Czech +0x0158 0x015B # Czech, Polish 0x0160 0x0161 # Used in Slavic names -0x0179 0x017C # Polish -0x017D 0x017E # Used in Slavic names +0x0164 0x0165 # Czech +0x016E 0x016F # Czech +0x0179 0x017E # Polish, Czech, other Slavic languages 0x0300 0x030A # Diacritical marks 0x0370 0x0377 # Greek 0x037A 0x037F # Greek diff --git a/ext/mbstring/rare_cp_bitvec.h b/ext/mbstring/rare_cp_bitvec.h index 10f492ab3d1b7..4027da2556dee 100644 --- a/ext/mbstring/rare_cp_bitvec.h +++ b/ext/mbstring/rare_cp_bitvec.h @@ -11,7 +11,7 @@ static uint32_t rare_codepoint_bitvec[] = { 0xffffd9ff, 0x00000000, 0x00000000, 0x80000000, 0xffffffff, 0x00002001, 0x00000000, 0x00000000, -0xfcffff0f, 0xffffffff, 0xf3ffffe1, 0x81fffffc, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xf0ff0f0f, 0xffffffff, 0xf0fffe61, 0x81ff3fcc, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfffff800, 0xffffffff, 0xffffffff, 0x0300ffff, 0x0000280f, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, diff --git a/ext/mbstring/tests/mb_detect_encoding.phpt b/ext/mbstring/tests/mb_detect_encoding.phpt index ba88be6443afb..2e0191680ebdf 100644 --- a/ext/mbstring/tests/mb_detect_encoding.phpt +++ b/ext/mbstring/tests/mb_detect_encoding.phpt @@ -233,6 +233,82 @@ test($deStrings, $deEncodings); test([$polish1, $polish2], ['UTF-32BE', 'UTF-32LE', 'UTF-16BE', 'UTF-16LE', 'UTF-8', 'ISO-8859-2']); +$czechStrings = [ + // Gotta love these Czech proverbs + // "Some like girls, others like muffins." Truer words were never spoken. + 'Bezdomovec je doma všude.', + 'Bez práce nejsou koláče.', + 'Bez peněz do hospody nelez.', + 'Bližší košile nežli kabát.', + 'Boží mlýny melou pomalu, ale jistě.', + 'Co je dovoleno pánovi, není dovoleno kmánovi.', + 'Co je šeptem, to je s čertem.', + 'Co je v domě, není pro mě.', + 'Co je v domě, to se počítá.', + 'Co jsi z úst vypustil, ani párem koní nedostaneš zpět.', + 'Co můžeš udělat dnes, neodkládej na zítřek.', + 'Co nejde po dobrým, to půjde po zlým.', + 'Co oči nevidí, to srdce nebolí (a ruce neukradnou).', + 'Co se škádlívá, to se rádo mívá.', + 'Co se v mládí naučíš, ke stáru jako když najdeš.', + 'Co sis uvařil, to si sněz.', + 'Co tě nezabije, to tě posílí.', + 'Cvik dělá mistra.', + 'Co tě nepálí, nehas.', + 'Co na srdci, to na jazyku.', + 'Co nejde silou, jde rozumem.', + 'Čas všechny rány zahojí.', + 'Častá krůpěj kámen proráží.', + 'Čím výše vystoupíš, tím hlouběji padáš.', + 'Čím výše vystoupíš, tím větší rozhled.', + 'Čiň čertu dobře, peklem se ti odmění.', + 'Čistota – půl zdraví.', + 'Dal ses na vojnu, tak bojuj.', + 'Darovanému koni na zuby nehleď.', + 'Devatero řemesel – desátá bída.', + 'Dějiny píší vítězové.', + 'Dobré slovo i železná vrata otvírá.', + 'Dočkej času jako husa klasu.', + 'Drzé čelo lepší než poplužní dvůr.', + 'Dvakrát měř, jednou řež.', + 'Důvěřuj, ale prověřuj', + 'Hlad je nejlepší kuchař.', + 'Hlad má velké oči.', + 'Hloupý, kdo dává, hloupější, kdo nebere.', + 'Hněv je špatný rádce.', + 'Někdo rád holky, jinej zas vdolky.', + 'Volům kroky a jelenům skoky.', + 'Vrána k vráně sedá, rovný rovného si hledá.', + 'Všeho nechám, už tam spěchám.', + 'Všechna sláva, polní tráva.', + 'Všeho s mírou.', + 'Všechno zlé je pro něco dobré.', + 'Všude dobře, doma nejlépe.', + 'Vrána vráně oči nevyklove.', + 'Výjimka potvrzuje pravidlo.', + 'Vzduch – boží duch.', + 'Za dobrotu na žebrotu.', + 'Zadarmo ani kuře nehrabe.', + 'Zahálky jsa služebníkem, neběduj, žes hadrníkem.', + 'Z cizího krev neteče.', + 'Zítra je taky den.', + 'Zakázané ovoce chutná nejlépe.', + 'Zlaté slovo, které zůstane v ústech.', + 'Zvyk je železná košile.', + 'Žába močál vždy najde.', + 'Žádná píseň není tak dlouhá, aby jí nebyl konec.', + 'Žádný strom neroste do nebe.', + 'Žádný učený z nebe nespadl.', + 'Žízeň je věčná.' +]; +$czechEncodings = [ + 'UTF-8', + 'UTF-16', + // 'Windows-1250', // Windows-1250 is not supported by mbstring + // 'ISO-8859-2' // We are not able to accurately distinguish UTF-8 and ISO-8859-2 +]; +test($czechStrings, $czechEncodings); + echo "Done!\n"; ?>