diff options
author | Ambrose Li <ambrose.li@gmail.com> | 2020-08-24 02:20:43 +0000 |
---|---|---|
committer | Ambrose Li <ambrose.li@gmail.com> | 2020-08-24 02:20:43 +0000 |
commit | 9f18e67a9bb5ff0387f76e5a2870b49558f868ad (patch) | |
tree | feb45c9c4e518c0ab784b82b25b6ea85158e0455 /file.c | |
parent | Update ChangeLog (diff) | |
download | w3m-9f18e67a9bb5ff0387f76e5a2870b49558f868ad.tar.gz w3m-9f18e67a9bb5ff0387f76e5a2870b49558f868ad.zip |
Cleaned version of 20200823_q branch. Changes the behaviour of the q tag (when m17n and Unicode are configured) to use "smart" quotes if the display charset can handle them. Falls back to old behaviour (ASCII quotes with left/right quote semantics for 6/0 and 2/6) if display charset is us-ascii.
Also changes the behaviour of conv_entity() to convert left/right quotes and some dashes because named entities are needed for the new code for the q tag.
Diffstat (limited to 'file.c')
-rw-r--r-- | file.c | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -4487,9 +4487,27 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) HTMLlineproc1("</b>", h_env); return 1; case HTML_Q: +#ifdef USE_M17N +#ifdef USE_UNICODE + if (DisplayCharset != WC_CES_US_ASCII) { + HTMLlineproc1((obuf->q_level & 1 ? "“": "‘"), h_env); + obuf->q_level += 1; + } + else +#endif +#endif HTMLlineproc1("`", h_env); return 1; case HTML_N_Q: +#ifdef USE_M17N +#ifdef USE_UNICODE + if (DisplayCharset != WC_CES_US_ASCII) { + obuf->q_level -= 1; + HTMLlineproc1((obuf->q_level & 1 ? "”": "’"), h_env); + } + else +#endif +#endif HTMLlineproc1("'", h_env); return 1; case HTML_FIGURE: |