chiark / gitweb /
m.code: remove the ZWNJ hack.
authorVladimír Vondruš <mosra@centrum.cz>
Mon, 8 Jun 2020 19:35:29 +0000 (21:35 +0200)
committerVladimír Vondruš <mosra@centrum.cz>
Mon, 8 Jun 2020 19:38:10 +0000 (21:38 +0200)
Was used only to fix one browser rendering issue on magnum.graphics
which happened only when Unicode blocks were involved. Does not make
sense to pollute all output with it.

documentation/test_doxygen/contents_code_language/ansi.html
plugins/ansilexer.py
plugins/m/test/code/page.html

index d5aa5488174dcf77c159cb4fcd7076fa1fc5e1a3..a071d1e36fa2db44c196160e0d6106bb72e34a57 100644 (file)
         <h1>
           ANSI color escape code highlighting
         </h1>
-<pre class="m-console">!<span class="g g-AnsiBlue">[</span><span class="g g-AnsiBrightWhite">mosra@don-perverzo </span><span class="g g-AnsiWhite">m.css</span><span class="g g-AnsiBlue">]</span><span class="g g-AnsiBrightCyan">$ </span></pre><pre class="m-console"><span style="color: #dcdcdc; background-color: #dcdcdc">&zwnj;██</span> <span style="color: #a5c9ea; background-color: #a5c9ea">&zwnj;██</span> <span style="color: #3bd267; background-color: #3bd267">&zwnj;██</span> <span style="color: #c7cf2f; background-color: #c7cf2f">&zwnj;██</span> <span style="color: #cd3431; background-color: #cd3431">&zwnj;██</span> <span style="color: #2f83cc; background-color: #2f83cc">&zwnj;▓▓</span> <span style="color: #747474; background-color: #747474">&zwnj;▒▒</span>
+<pre class="m-console">!<span class="g g-AnsiBlue">[</span><span class="g g-AnsiBrightWhite">mosra@don-perverzo </span><span class="g g-AnsiWhite">m.css</span><span class="g g-AnsiBlue">]</span><span class="g g-AnsiBrightCyan">$ </span></pre><pre class="m-console"><span style="color: #dcdcdc; background-color: #dcdcdc">██</span> <span style="color: #a5c9ea; background-color: #a5c9ea">██</span> <span style="color: #3bd267; background-color: #3bd267">██</span> <span style="color: #c7cf2f; background-color: #c7cf2f">██</span> <span style="color: #cd3431; background-color: #cd3431">██</span> <span style="color: #2f83cc; background-color: #2f83cc">▓▓</span> <span style="color: #747474; background-color: #747474">▒▒</span>
 
-Leading zeros: <span style="color: #0f7403; background-color: #0f7403">&zwnj;▒▒</span> <span style="color: #0f7403">&zwnj;▒▒</span>
+Leading zeros: <span style="color: #0f7403; background-color: #0f7403">▒▒</span> <span style="color: #0f7403">▒▒</span>
 
-<span style="color: #3bd267">&zwnj;  </span> <span style="color: #3bd267">&zwnj;  </span> <span style="color: #3bd267">&zwnj;░░</span> <span style="color: #3bd267">&zwnj;▒▒</span> <span style="color: #3bd267">&zwnj;▓▓</span> <span style="color: #3bd267; background-color: #3bd267">&zwnj;██</span></pre>
+<span style="color: #3bd267">  </span> <span style="color: #3bd267">  </span> <span style="color: #3bd267">░░</span> <span style="color: #3bd267">▒▒</span> <span style="color: #3bd267">▓▓</span> <span style="color: #3bd267; background-color: #3bd267">██</span></pre>
       </div>
     </div>
   </div>
index 39538d8bf7376b15a947c704fb23e6d04c450ea5..01dd9ce11ee3756e6040dfa1bfb63f2897af73d1 100644 (file)
@@ -89,8 +89,8 @@ class AnsiLexer(RegexLexer):
         ]
     }
 
-_ansi_fg_color_re = re.compile('class="g g-AnsiForegroundColor([0-9a-f]{6})">')
-_ansi_fg_bg_color_re = re.compile('class="g g-AnsiForegroundBackgroundColor([0-9a-f]{6})">')
+_ansi_fg_color_re = re.compile('class="g g-AnsiForegroundColor([0-9a-f]{6})"')
+_ansi_fg_bg_color_re = re.compile('class="g g-AnsiForegroundBackgroundColor([0-9a-f]{6})"')
 
 class HtmlAnsiFormatter(HtmlFormatter):
     def wrap(self, source, outfile):
@@ -99,12 +99,7 @@ class HtmlAnsiFormatter(HtmlFormatter):
     def _wrap_code(self, source):
         for i, t in source:
             if i == 1: # it's a line of formatted code
-                # Add ZWNJ for before each character because otherwise it's
-                # somehow impossible to wrap even with word-break: break-all.
-                # Not sure why (and not sure if this is the best solution), but
-                # had to ship a thing so there it is. Adding <wbr/> did not
-                # help.
-                t = _ansi_fg_bg_color_re.sub('style="color: #\\1; background-color: #\\1">&zwnj;', t)
-                t = _ansi_fg_color_re.sub('style="color: #\\1">&zwnj;', t)
+                t = _ansi_fg_bg_color_re.sub('style="color: #\\1; background-color: #\\1"', t)
+                t = _ansi_fg_color_re.sub('style="color: #\\1"', t)
                 #t += 'H'
             yield i, t
index 0af11332b1230211a2ad60f09adb31a08986a080..a9f95582dde852c79b1b08bce313b82a2c0adb1c 100644 (file)
@@ -39,11 +39,11 @@ ASan reports:
 
 =&gt;0x0c287fff8030: 00[<span class="g g-AnsiBrightBlue">fc</span>]<span class="g g-AnsiBrightBlue">fc</span> <span class="g g-AnsiBrightBlue">fc</span> <span class="g g-AnsiBrightBlue">fc</span> <span class="g g-AnsiBrightBlue">fc</span> <span class="g g-AnsiBrightBlue">fc</span> <span class="g g-AnsiBrightBlue">fc</span> <span class="g g-AnsiBrightBlue">fc</span> <span class="g g-AnsiBrightBlue">fc</span> <span class="g g-AnsiBrightBlue">fc</span> <span class="g g-AnsiBrightRed">fa</span> <span class="g g-AnsiBrightRed">fa</span> <span class="g g-AnsiBrightRed">fa</span> <span class="g g-AnsiBrightRed">fa</span> <span class="g g-AnsiBrightRed">fa</span></pre>
 <p>Console colors:</p>
-<pre class="m-console"><span style="color: #dcdcdc; background-color: #dcdcdc">&zwnj;██</span> <span style="color: #a5c9ea; background-color: #a5c9ea">&zwnj;██</span> <span style="color: #3bd267; background-color: #3bd267">&zwnj;██</span> <span style="color: #c7cf2f; background-color: #c7cf2f">&zwnj;██</span> <span style="color: #cd3431; background-color: #cd3431">&zwnj;██</span> <span style="color: #2f83cc; background-color: #2f83cc">&zwnj;▓▓</span> <span style="color: #747474; background-color: #747474">&zwnj;▒▒</span>
+<pre class="m-console"><span style="color: #dcdcdc; background-color: #dcdcdc">██</span> <span style="color: #a5c9ea; background-color: #a5c9ea">██</span> <span style="color: #3bd267; background-color: #3bd267">██</span> <span style="color: #c7cf2f; background-color: #c7cf2f">██</span> <span style="color: #cd3431; background-color: #cd3431">██</span> <span style="color: #2f83cc; background-color: #2f83cc">▓▓</span> <span style="color: #747474; background-color: #747474">▒▒</span>
 
-Leading zeros: <span style="color: #0f7403; background-color: #0f7403">&zwnj;▒▒</span> <span style="color: #0f7403">&zwnj;▒▒</span>
+Leading zeros: <span style="color: #0f7403; background-color: #0f7403">▒▒</span> <span style="color: #0f7403">▒▒</span>
 
-<span style="color: #3bd267">&zwnj;  </span> <span style="color: #3bd267">&zwnj;  </span> <span style="color: #3bd267">&zwnj;░░</span> <span style="color: #3bd267">&zwnj;▒▒</span> <span style="color: #3bd267">&zwnj;▓▓</span> <span style="color: #3bd267; background-color: #3bd267">&zwnj;██</span></pre>
+<span style="color: #3bd267">  </span> <span style="color: #3bd267">  </span> <span style="color: #3bd267">░░</span> <span style="color: #3bd267">▒▒</span> <span style="color: #3bd267">▓▓</span> <span style="color: #3bd267; background-color: #3bd267">██</span></pre>
 <pre class="m-code">// this language is not highlighted</pre>
 <p>Properly preserve backslashes: <code class="m-code"><span class="k">\frac</span><span class="nb">{</span>a<span class="nb">}{</span>b<span class="nb">}</span></code> ... and backticks:
 <code class="m-code"><span class="na">:ref:</span><span class="nv">`a function &lt;os.path.join()&gt;`</span></code></p>