{"id":56,"date":"2009-08-13T16:52:28","date_gmt":"2009-08-13T14:52:28","guid":{"rendered":"http:\/\/xavier.borderie.net\/wp-trunk\/?p=56"},"modified":"2016-09-08T16:25:59","modified_gmt":"2016-09-08T14:25:59","slug":"curly-quotes-test","status":"publish","type":"post","link":"https:\/\/xavier.borderie.net\/wp-trunk\/?p=56","title":{"rendered":"Curly quotes test"},"content":{"rendered":"<p>The curly quotes test is especially easy to spot in French, as the English quotes are converted this way:<\/p>\n<ul>\n<li>&quot;word turns into &quot;\u00ab word&quot;.<\/li>\n<li>word&quot; turns into &quot;word \u00bb&quot;.<\/li>\n<\/ul>\n<p>(note the space: in French typography, the word should separated from the sign with a non-breakable space.)<\/p>\n<p>Now, let&rsquo;s test this in different situations in the current trunk (this install):<\/p>\n<p><strong>Original<\/strong>: Here a &quot;simple test&quot;.<br \/>\n<strong>Texturized<\/strong>: Here a \u00ab\u00a0simple test\u00a0\u00bb.<br \/>\nHere, the quotes are as expected: \u00ab\u00a0\u00ab \u00a0\u00bb opens, \u00a0\u00bb \u00bb\u00a0\u00bb closes.<\/p>\n<p><strong>Original<\/strong>: Here is &quot;a longer test&quot; that involves more words.<br \/>\n<strong>Texturized<\/strong>: Here is \u00ab\u00a0a longer test\u00a0\u00bb that involves more words.<br \/>\nGOOD, it works.<\/p>\n<p><strong>Original<\/strong>: Here is &quot;<a href=\"http:\/\/yahoo.com\">a test with a link<\/a>&quot;.<br \/>\n<strong>Texturized<\/strong>: Here is \u00ab\u00a0<a href=\"http:\/\/yahoo.com\">a test with a link<\/a>\u00ab\u00a0.<br \/>\nNOT GOOD, \u00ab is closing.<\/p>\n<p><strong>Original<\/strong>: Here is &quot;<a href=\"http:\/\/yahoo.com\">a longer test<\/a>&quot; with a link.<br \/>\n<strong>Texturized<\/strong>: Here is \u00ab\u00a0<a href=\"http:\/\/yahoo.com\">a longer test<\/a>\u00a0\u00bb with a link.<br \/>\nGOOD.<\/p>\n<p><strong>Original<\/strong>: Here is &quot;<a href=\"http:\/\/yahoo.com\">another test<\/a>&quot;, with a comma.<br \/>\n<strong>Texturized<\/strong>: Here is \u00ab\u00a0<a href=\"http:\/\/yahoo.com\">another test<\/a>\u00ab\u00a0, with a comma.<br \/>\nNOT GOOD, \u00ab is closing.<\/p>\n<p><strong>Original<\/strong>: And yet &quot;<a href=\"http:\/\/yahoo.com\">another test<\/a>&quot;; with a semicolon (with not space).<br \/>\n<strong>Texturized<\/strong>: And yet \u00ab\u00a0<a href=\"http:\/\/yahoo.com\">another test<\/a>\u00ab\u00a0; with a semicolon.<br \/>\nNOT GOOD, \u00ab is closing.<\/p>\n<p><strong>Original<\/strong>: This one &quot;<a href=\"http:\/\/yahoo.com\">further test<\/a>&quot;- uses a dash\u00a0(with not space).<br \/>\n<strong>Texturized<\/strong>: This one \u00ab\u00a0<a href=\"http:\/\/yahoo.com\">further test<\/a>\u00ab\u00a0&#8211; uses a dash.<br \/>\nNOT GOOD, \u00ab is closing.<\/p>\n<p><strong>Original<\/strong>: In this one, the &quot;<a href=\"http:\/\/yahoo.com\">quoted section<\/a> is not entirely a link&quot;.<br \/>\n<strong>Texturized<\/strong>: In this one, the \u00ab\u00a0<a href=\"http:\/\/yahoo.com\">quoted section<\/a> is not entirely a link\u00a0\u00bb.<br \/>\nGOOD.<\/p>\n<p><strong>Original<\/strong>: And now, the &quot;quoted section <a href=\"http:\/\/yahoo.com\">ends with a link<\/a>&quot;.<br \/>\n<strong>Texturized<\/strong>: And now, the \u00ab\u00a0quoted section <a href=\"http:\/\/yahoo.com\">ends with a link<\/a>\u00ab\u00a0.<br \/>\nNOT GOOD, \u00ab is closing.<\/p>\n<p><strong>Original<\/strong>: Same exact string, with a space between the ending quote and the period: And now, the &quot;quoted section <a href=\"http:\/\/yahoo.com\">ends with a link<\/a>&quot; .<br \/>\n<strong>Texturized<\/strong>: Same exact string, with a space between the ending quote and the period: And now, the \u00ab\u00a0quoted section <a href=\"http:\/\/yahoo.com\">ends with a link<\/a>\u00a0\u00bb .<br \/>\nGOOD.<\/p>\n<p><strong>Original<\/strong>: One further test, with &quot;<a href=\"http:\/\/yahoo.com\">a word stuck to the<\/a>&quot;ending quote.<br \/>\n<strong>Texturized<\/strong>: One further test, with \u00ab\u00a0<a href=\"http:\/\/yahoo.com\">a word stuck to the<\/a>\u00ab\u00a0ending quote.<br \/>\nNOT GOOD, \u00ab is closing.<\/p>\n<p>&#8212;<\/p>\n<p><strong>Original<\/strong>: Ah, there comes another test, with a finishing number, &quot;like 23&quot;.<br \/>\n<strong>Texturized<\/strong>: Ah, there comes another test, with a finishing number, \u00ab\u00a0like 23\u00a0\u00bb.<br \/>\nNOT GOOD, \u2033 (rdquo) is closing (?!?).<br \/>\n<strong>SOLVED IN 4.3!<\/strong><\/p>\n<p><strong>Original<\/strong>: If there&rsquo;s a space, &quot;like 62&quot; right here, it also fails.<br \/>\n<strong>Texturized<\/strong>: If there&rsquo;s a space, \u00ab\u00a0like 62\u00a0\u00bb right here, it also fails.<br \/>\nNOT GOOD, \u2033 (rdquo) is closing (?!?).<br \/>\n<strong>SOLVED IN 4.3!<\/strong><\/p>\n<p>&#8212;<\/p>\n<p><strong>Original<\/strong>: Let&rsquo;s test with further stuff, &quot;like <a href=\"#\">ellipses<\/a>&quot;&#8230;<br \/>\n<strong>Texturized<\/strong>: Let&rsquo;s test with further stuff, \u00ab\u00a0like <a href=\"#\">ellipses<\/a>\u00ab\u00a0&#8230;<br \/>\nNOT GOOD, \u00ab is closing.<\/p>\n<p><strong>Original<\/strong>: Same ellipses, &quot;only with no link&quot;&#8230;<br \/>\n<strong>Texturized<\/strong>: Same ellipses, \u00ab\u00a0only with no link\u00a0\u00bb&#8230;<br \/>\nGOOD.<\/p>\n<p>&#8212;<\/p>\n<p><strong>Original<\/strong>: (&quot;no link, everything between parenthesis&quot;)<br \/>\n<strong>Texturized<\/strong>: (\u00ab\u00a0no link, everything between parenthesis\u00a0\u00bb)<br \/>\nGOOD.<\/p>\n<p><strong>Original<\/strong>: [&quot;no link, everything between square brackets&quot;]<br \/>\n<strong>Texturized<\/strong>: [\u00ab\u00a0no link, everything between square brackets\u00a0\u00bb]<br \/>\nGOOD (but breaks shortcodes &#8212; there used to be no conversion here, new to 4.1?).<\/p>\n<p><strong>Original<\/strong>: {&quot;no link, everything between curly braces&quot;}<br \/>\n<strong>Texturized<\/strong>: {\u00ab\u00a0no link, everything between curly braces\u00a0\u00bb}<br \/>\nGOOD.<\/p>\n<p><strong>Original<\/strong>: &quot;no link, no parenthesis or anything&quot;<br \/>\n<strong>Texturized<\/strong>: \u00ab\u00a0no link, no parenthesis or anything\u00a0\u00bb<br \/>\nGOOD.<\/p>\n<p>&#8212;<\/p>\n<p><strong>Original<\/strong>: &quot;(no link, everything between parenthesis except the quotes]&quot;.<br \/>\n<strong>Texturized<\/strong>: \u00ab\u00a0(everything between parenthesis except the quotes)\u00a0\u00bb.<br \/>\nGOOD.<\/p>\n<p><strong>Original<\/strong>: &quot;[no link, everything between square brackets except the quotes]&quot;.<br \/>\n<strong>Texturized<\/strong>: \u00ab\u00a0(everything between square brackets except the quotes)\u00a0\u00bb.<br \/>\nGOOD.<\/p>\n<p><strong>Original<\/strong>: &quot;[no link, everything between curly braces except the quotes]&quot;.<br \/>\n<strong>Texturized<\/strong>: \u00ab\u00a0(everything between curly braces except the quotes)\u00a0\u00bb.<br \/>\nGOOD.<\/p>\n<p>&#8212;<\/p>\n<p>Trac tickets:<\/p>\n<ul>\n<li><a href=\"https:\/\/core.trac.wordpress.org\/ticket\/4539\">#4539<\/a>: \u00ab\u00a0Abbreviated year followed by punctuation or markup doesn&rsquo;t texturize\u00a0\u00bb &#8212; still open<\/li>\n<li><del><a href=\"https:\/\/core.trac.wordpress.org\/ticket\/10606\">#10606<\/a><\/del>: \u00ab\u00a0Curly quotes breakage\u00a0\u00bb &#8212; following my initial report, closed as duplicate<\/li>\n<li><del><a href=\"https:\/\/core.trac.wordpress.org\/ticket\/11099\">#11099<\/a><\/del>: \u00ab\u00a0Additonal unit tests for quotes formatting.\u00a0\u00bb &#8212; merged<\/li>\n<li>BuddyPress&rsquo; <del><a href=\"https:\/\/buddypress.trac.wordpress.org\/ticket\/7098\">#7098<\/a><\/del>: \u00ab\u00a0Foreign quotation mark &#8211; guillemet issue\u00a0\u00bb &#8212; closed because it&rsquo;s a Core issue.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The curly quotes test is especially easy to spot in French, as the English quotes are converted this way: &quot;word turns into &quot;\u00ab word&quot;. word&quot; turns into &quot;word \u00bb&quot;. (note the space: in French typography, the word should separated from the sign with a non-breakable space.) Now, let&rsquo;s test this in different situations in the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/xavier.borderie.net\/wp-trunk\/index.php?rest_route=\/wp\/v2\/posts\/56"}],"collection":[{"href":"https:\/\/xavier.borderie.net\/wp-trunk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/xavier.borderie.net\/wp-trunk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/xavier.borderie.net\/wp-trunk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/xavier.borderie.net\/wp-trunk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=56"}],"version-history":[{"count":47,"href":"https:\/\/xavier.borderie.net\/wp-trunk\/index.php?rest_route=\/wp\/v2\/posts\/56\/revisions"}],"predecessor-version":[{"id":176,"href":"https:\/\/xavier.borderie.net\/wp-trunk\/index.php?rest_route=\/wp\/v2\/posts\/56\/revisions\/176"}],"wp:attachment":[{"href":"https:\/\/xavier.borderie.net\/wp-trunk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=56"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xavier.borderie.net\/wp-trunk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=56"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xavier.borderie.net\/wp-trunk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=56"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}