From: Georges Ko <gko@gko.net>
To: 24634@debbugs.gnu.org
Subject: bug#24634: 25.1 on Windows (native and cygwin+w32): high CPU load with "wavy" characters
Date: Sat, 08 Oct 2016 01:01:40 +0800 [thread overview]
Message-ID: <bw5nmviggkjv.fsf@gko.net> (raw)
In-Reply-To: <yd8r37k8iwkd.fsf@gko.net>
Eli Zaretskii <eliz@gnu.org> writes:
>> ﹏
>>
>>
>>
>> ⌇
>
> What font(s) is/are used on your system to display these characters?
I did some tests with "runemacs -Q", with the following results as an
org-mode buffer.
I can mitigate the problem by using language environment "English" and
font "MingLiu-SIZE" (2nd step), the worst case being language
environment "UTF-8" and font "Courier NEw-SIZE" (3rd step).
* Summary
|---------+----------+-------+------+------+---------------------------------------------------------|
| Step | current- | frame | WAVY | WAVY | Font of set-frame-font, WAVY LINE and WAVY LOW LINE |
| | language | font | LINE | LOW | O=outline NNN=normal-normal-normal |
| | environ | | | LINE | |
|---------+----------+-------+------+------+---------------------------------------------------------|
| Initial | English | CN-10 | | | -O-Courier New-NNN-mono-13-*-*-*-c-*-iso8859-1 (#x1E) |
| | | | OK | | -O-Symbola-NNN-serif-13-*-*-*-p-*-iso8859-1 (#x640) |
| | | | | NOK | -O-MingLiU-NNN-mono-13-*-*-*-c-*-iso10646-1 (#x7096) |
|---------+----------+-------+------+------+---------------------------------------------------------|
| (s-f-f | English | ML-10 | | | -O-MingLiU-NNN-mono-13-*-*-*-c-*-iso8859-1 (#x29) |
| ML-10) | | | OK | | -O-MingLiU-NNN-mono-13-*-*-*-c-*-iso8859-1 (#x286) |
| | | | | OK | -O-MingLiU-NNN-mono-13-*-*-*-c-*-gb2312.1980-0 (#x7096) |
|---------+----------+-------+------+------+---------------------------------------------------------|
| s-l-e | UTF-8 | ML-10 | | | -O-MingLiU-NNN-mono-13-*-*-*-c-*-iso8859-1 (#x55) |
| UTF-8 | | | OK | | -O-MingLiU-NNN-mono-13-*-*-*-c-*-iso8859-1 (#x286) |
| | | | | NOK | -O-MingLiU-NNN-mono-13-*-*-*-c-*-iso10646-1 (#x7096) |
|---------+----------+-------+------+------+---------------------------------------------------------|
| (s-f-f | UTF-8 | CN-10 | | | -O-Courier New-NNN-mono-13-*-*-*-c-*-iso8859-1 (#x03) |
| CN-10) | | | NOK | | -O-Symbola-NNN-serif-13-*-*-*-p-*-iso8859-1 (#x640) |
| | | | | NOK | -O-MingLiU-NNN-mono-13-*-*-*-c-*-iso10646-1 (#x7096) |
|---------+----------+-------+------+------+---------------------------------------------------------|
- WAVY LINE : script: symbol, category: .:Base
- WAVY LOW LINE: script: han, category: .:Base, c:Chinese
* Details
** Environment
- C:\emacs-25.1-x86_64-w64-mingw32\bin\runemacs.exe -Q
- current-language-environment -> "English"
- w32-ansi-code-page -> 1252
- Character info (C-u C-x =) of some ASCII character in *scratch*:
#+BEGIN_SRC fundamental
position: 1 of 145 (0%), column: 0
character: ; (displayed as ;) (codepoint 59, #o73, #x3b)
preferred charset: ascii (ASCII (ISO646 IRV))
code point in charset: 0x3B
script: latin
syntax: < which means: comment
category: .:Base, a:ASCII, l:Latin, r:Roman
to input: type "C-x 8 RET 3b" or "C-x 8 RET SEMICOLON"
buffer code: #x3B
file code: #x3B (encoded by coding system iso-latin-1-dos)
display: by this font (glyph code)
uniscribe:-outline-Courier New-normal-normal-normal-mono-13-*-*-*-c-*-iso8859-1 (#x1E)
Character code properties: customize what to show
name: SEMICOLON
general-category: Po (Punctuation, Other)
decomposition: (59) (';')
There are text properties here:
face font-lock-comment-delimiter-face
fontified nil
#+END_SRC
** Initial setup
- Insert "WAVY LINE": (insert-char 8967 1 t)
- OK: no high CPU load
- Character info of wavy line:
#+BEGIN_SRC fundamental
position: 184 of 189 (97%), column: 0
character: ⌇ (displayed as ⌇) (codepoint 8967, #o21407, #x2307)
preferred charset: unicode (Unicode (ISO10646))
code point in charset: 0x2307
script: symbol
syntax: . which means: punctuation
category: .:Base
to input: type "C-x 8 RET 2307" or "C-x 8 RET WAVY LINE"
buffer code: #xE2 #x8C #x87
file code: not encodable by coding system iso-latin-1-dos
display: by this font (glyph code)
uniscribe:-outline-Symbola-normal-normal-normal-serif-13-*-*-*-p-*-iso8859-1 (#x640)
Character code properties: customize what to show
name: WAVY LINE
general-category: So (Symbol, Other)
decomposition: (8967) ('⌇')
There are text properties here:
fontified t
#+END_SRC
- Insert "WAVY LOW LINE": (insert-char 65103 1 t)
- NOK: high CPU load
- Character info of wavy low line:
#+BEGIN_SRC fundamental
position: 187 of 194 (96%), column: 0
character: ﹏ (displayed as ﹏) (codepoint 65103, #o177117, #xfe4f)
preferred charset: unicode (Unicode (ISO10646))
code point in charset: 0xFE4F
script: han
syntax: w which means: word
category: .:Base, c:Chinese
to input: type "C-x 8 RET fe4f" or "C-x 8 RET WAVY LOW LINE"
buffer code: #xEF #xB9 #x8F
file code: not encodable by coding system iso-latin-1-dos
display: by this font (glyph code)
uniscribe:-outline-MingLiU-normal-normal-normal-mono-13-*-*-*-c-*-iso10646-1 (#x7096)
Character code properties: customize what to show
name: WAVY LOW LINE
old-name: SPACING WAVY UNDERSCORE
general-category: Pc (Punctuation, Connector)
decomposition: (compat 95) (compat '_')
There are text properties here:
fontified t
#+END_SRC
- At this moment, Emacs is very jerky due to the presence of wavy
low line character.
** (set-frame-font "MingLiu-10")
- Right after switching to this font, everything is smooth again!
- Check "WAVY LINE":
- OK: no high CPU load
- Character info of wavy line:
#+BEGIN_SRC fundamental
position: 184 of 194 (94%), column: 0
character: ⌇ (displayed as ⌇) (codepoint 8967, #o21407, #x2307)
preferred charset: unicode (Unicode (ISO10646))
code point in charset: 0x2307
script: symbol
syntax: . which means: punctuation
category: .:Base
to input: type "C-x 8 RET 2307" or "C-x 8 RET WAVY LINE"
buffer code: #xE2 #x8C #x87
file code: not encodable by coding system iso-latin-1-dos
display: by this font (glyph code)
uniscribe:-outline-MingLiU-normal-normal-normal-mono-13-*-*-*-c-*-iso8859-1 (#x286)
Character code properties: customize what to show
name: WAVY LINE
general-category: So (Symbol, Other)
decomposition: (8967) ('⌇')
There are text properties here:
fontified t
#+END_SRC
- check "WAVY LOW LINE":
- OK: no high CPU load
- Character info of wavy low line:
#+BEGIN_SRC fundamental
position: 187 of 194 (96%), column: 0
character: ﹏ (displayed as ﹏) (codepoint 65103, #o177117, #xfe4f)
preferred charset: unicode (Unicode (ISO10646))
code point in charset: 0xFE4F
script: han
syntax: w which means: word
category: .:Base, c:Chinese
to input: type "C-x 8 RET fe4f" or "C-x 8 RET WAVY LOW LINE"
buffer code: #xEF #xB9 #x8F
file code: not encodable by coding system iso-latin-1-dos
display: by this font (glyph code)
uniscribe:-outline-MingLiU-normal-normal-normal-mono-13-*-*-*-c-*-gb2312.1980-0 (#x7096)
Character code properties: customize what to show
name: WAVY LOW LINE
old-name: SPACING WAVY UNDERSCORE
general-category: Pc (Punctuation, Connector)
decomposition: (compat 95) (compat '_')
There are text properties here:
fontified t
#+END_SRC
** (set-language-environment) to UTF-8:
- Check "WAVY LINE":
- OK: no high CPU load
- Character info of wavy line:
#+BEGIN_SRC fundamental
position: 184 of 196 (93%), column: 0
character: ⌇ (displayed as ⌇) (codepoint 8967, #o21407, #x2307)
preferred charset: unicode-bmp (Unicode Basic Multilingual Plane (U+0000..U+FFFF))
code point in charset: 0x2307
script: symbol
syntax: . which means: punctuation
category: .:Base
to input: type "C-x 8 RET 2307" or "C-x 8 RET WAVY LINE"
buffer code: #xE2 #x8C #x87
file code: #xE2 #x8C #x87 (encoded by coding system utf-8-dos)
display: by this font (glyph code)
uniscribe:-outline-MingLiU-normal-normal-normal-mono-13-*-*-*-c-*-iso8859-1 (#x286)
Character code properties: customize what to show
name: WAVY LINE
general-category: So (Symbol, Other)
decomposition: (8967) ('⌇')
There are text properties here:
fontified t
#+END_SRC
- Check "WAVY LOW LINE":
- NOK: high CPU load
- Character info of wavy low line:
#+BEGIN_SRC fundamental
position: 189 of 196 (96%), column: 0
character: ﹏ (displayed as ﹏) (codepoint 65103, #o177117, #xfe4f)
preferred charset: unicode-bmp (Unicode Basic Multilingual Plane (U+0000..U+FFFF))
code point in charset: 0xFE4F
script: han
syntax: w which means: word
category: .:Base, c:Chinese
to input: type "C-x 8 RET fe4f" or "C-x 8 RET WAVY LOW LINE"
buffer code: #xEF #xB9 #x8F
file code: #xEF #xB9 #x8F (encoded by coding system utf-8-dos)
display: by this font (glyph code)
uniscribe:-outline-MingLiU-normal-normal-normal-mono-13-*-*-*-c-*-iso10646-1 (#x7096)
Character code properties: customize what to show
name: WAVY LOW LINE
old-name: SPACING WAVY UNDERSCORE
general-category: Pc (Punctuation, Connector)
decomposition: (compat 95) (compat '_')
There are text properties here:
fontified t
#+END_SRC
** (set-frame-font "Courier New-10")
- Check "WAVY LINE":
- NOK: high CPU load
- Character info of wavy line:
#+BEGIN_SRC fundamental
position: 184 of 196 (93%), column: 0
character: ⌇ (displayed as ⌇) (codepoint 8967, #o21407, #x2307)
preferred charset: unicode-bmp (Unicode Basic Multilingual Plane (U+0000..U+FFFF))
code point in charset: 0x2307
script: symbol
syntax: . which means: punctuation
category: .:Base
to input: type "C-x 8 RET 2307" or "C-x 8 RET WAVY LINE"
buffer code: #xE2 #x8C #x87
file code: #xE2 #x8C #x87 (encoded by coding system utf-8-dos)
display: by this font (glyph code)
uniscribe:-outline-Symbola-normal-normal-normal-serif-13-*-*-*-p-*-iso8859-1 (#x640)
Character code properties: customize what to show
name: WAVY LINE
general-category: So (Symbol, Other)
decomposition: (8967) ('⌇')
There are text properties here:
fontified t
#+END_SRC
- Check "WAVY LOW LINE":
- NOK: high CPU load
- Character info of wavy low line:
#+BEGIN_SRC fundamental
position: 189 of 196 (96%), column: 0
character: ﹏ (displayed as ﹏) (codepoint 65103, #o177117, #xfe4f)
preferred charset: unicode-bmp (Unicode Basic Multilingual Plane (U+0000..U+FFFF))
code point in charset: 0xFE4F
script: han
syntax: w which means: word
category: .:Base, c:Chinese
to input: type "C-x 8 RET fe4f" or "C-x 8 RET WAVY LOW LINE"
buffer code: #xEF #xB9 #x8F
file code: #xEF #xB9 #x8F (encoded by coding system utf-8-dos)
display: by this font (glyph code)
uniscribe:-outline-MingLiU-normal-normal-normal-mono-13-*-*-*-c-*-iso10646-1 (#x7096)
Character code properties: customize what to show
name: WAVY LOW LINE
old-name: SPACING WAVY UNDERSCORE
general-category: Pc (Punctuation, Connector)
decomposition: (compat 95) (compat '_')
There are text properties here:
fontified t
#+END_SRC
--
Georges Ko gko@gko.net 2016-10-08
next prev parent reply other threads:[~2016-10-07 17:01 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-07 4:59 bug#24634: 25.1 on Windows (native and cygwin+w32): high CPU load with "wavy" characters Georges Ko
2016-10-07 7:16 ` Nikolay Kudryavtsev
2016-10-07 8:05 ` Eli Zaretskii
2016-10-07 17:01 ` Georges Ko [this message]
2016-10-07 19:03 ` Eli Zaretskii
2016-10-08 2:59 ` Georges Ko
2016-10-08 6:21 ` Eli Zaretskii
2016-10-08 8:20 ` Georges Ko
2016-10-08 14:11 ` Georges Ko
2016-10-08 14:43 ` Eli Zaretskii
2016-10-08 15:24 ` Georges Ko
2016-10-08 19:34 ` Eli Zaretskii
2016-10-10 9:54 ` Georges Ko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bw5nmviggkjv.fsf@gko.net \
--to=gko@gko.net \
--cc=24634@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).