Giter Club home page Giter Club logo

Comments (18)

realfish avatar realfish commented on July 21, 2024 1

大陆常见的中文字体里,没有 U+2048U+2049 对应的 glyph;OS X 定制的简中、繁中、日语系统界面字体(Heiti SC/TC 及 Hiragino Kaku Gothic),也均未包含。甚至,很多常见的西文字体也不制作这两个 glyph。

由此,U+2048U+2049 似乎不太适合推荐到实践中。回退到其他少数字体上,对文字排印实践中的字体样式一致性,会有干扰 。

组合使用 U+FF01 (!) 和 U+FF1F (?) ,并以标点挤压来调节视觉样式,可能是更具实践性的策略?

from clreq.

upsuper avatar upsuper commented on July 21, 2024

问叹号在GB/T 15834-2011中实际上是有记录的,作为问号和叹号的结合形式(见4.3.3.4)。因此我怀疑该符号不应视为一个独立符号。不过问号和叹号连用的这种形式,至少应在文档中有所体现。

不过如果文档里已经有双叹号和双问号的记载,或许作为独立的符号也没有问题,但我个人理解中还是倾向于把它们全部当作在标点挤压支持不完善时的workaround。

from clreq.

bobbytung avatar bobbytung commented on July 21, 2024

問嘆號「⁈」(U+2048)和嘆問號「⁉」(U+2049)是要以這兩個Codepoint呈現,還是以!與?組合。除了 @upsuper 所提的標點擠壓以及避頭尾點問題外,也包括直排時這兩個符號該怎麼處理才好。

  • 如果使用這兩個Codepoint,要注意字型是否都有Glype,在UTR#50中已經是一定直立的U。
  • 如果使用組字,直排裡就是使用text-combine,日文的縱中橫。

我會偏向使用Codepoint,作為註解追加。也會在3.2.3 直排的中、西文混排配置裡再補充。

from clreq.

SyaoranHinata avatar SyaoranHinata commented on July 21, 2024

我也偏向使用Codepoint。

from clreq.

bobbytung avatar bobbytung commented on July 21, 2024

如果使用組字,那就會有「!?」、「?!」、「!!」、「??」、「!!!」這樣的組合。若不使用Codepoint來輸入,或者輸入有問題時,就會採用組字。那麼就會遇到:

  • 於橫排時,以上組字皆該視為一個完整字元,即不會受到段落末換行而被切斷。
  • 於直排時,以上組字皆該視為一個完整字元,保持直立並且納於一字元寬度中。

from clreq.

upsuper avatar upsuper commented on July 21, 2024

实际上你说的前四种都存在,其中双叹号的U+203C原本就是为了workaround直排下的双叹号。

另外根据现有的标准做法, 连续的标点在横排时确实不会被切断。至于直排时视为一个字元的问题,日文对两位数字也有类似的需求,Writing Modes标准引入了text-combine-upright属性来支持。这个问题或许可以使用类似的方式解决。

from clreq.

upsuper avatar upsuper commented on July 21, 2024

而且正常来说,一般人并不会输入这几个特殊符号,而是采用连续的单个符号来替代。

from clreq.

bobbytung avatar bobbytung commented on July 21, 2024

@upsuper 嗯,現狀CSS都能處理這些需求。但在實務上我有遇到一些問題,直排時text-combine語法要能實踐還得要字型配合。以iOS、OS X內建的宋體繁與黑體繁,頂多只能容納二位數字,如「98」。但是遇到以下狀況:「A+」、「3.0」、「103」、「2014」、「!!!」,就收不進一個字元內了。
我看看怎麼在既有的3.2.3 直排的中、西文混排配置裡多加一點範例。

from clreq.

VirgilMing avatar VirgilMing commented on July 21, 2024

是否可以让未来的 CSS 规范实现「中文排版,如遇到某些特定的连续二到四个 ASCII 字形,则直接作为一个字形进行处理」?合并应该问题不是太大,但如果涉及挤压就肯定要字体支持了。

from clreq.

bobbytung avatar bobbytung commented on July 21, 2024

Add note to 3.1.1.1.3

from clreq.

ryukeikun avatar ryukeikun commented on July 21, 2024

关于连续标点的宽度问题,请留意《GB/T 15834-2011 标点符号用法》中的规定:

5.1.2 ……两个问号(或叹号)叠用时,占一个字位置;三个问号(或叹号)叠用时,占两字位置;问号和叹号连用时,占一个字位置

from clreq.

c933103 avatar c933103 commented on July 21, 2024

應該提示一下不要用emoji representation來顯示相關符號
image

from clreq.

stone-zeng avatar stone-zeng commented on July 21, 2024

这个应该只是字体的 fallback 吧。

from clreq.

bobbytung avatar bobbytung commented on July 21, 2024

加到 3.1.3 Atypical punctuation marks and their composition 非典型的标点符号及其配置 非典型的標點符號及其配置

另加一節:標點組合。既有的Unicode編碼以Note來處理。

from clreq.

xfq avatar xfq commented on July 21, 2024

https://w3c.github.io/clreq/#exclamatory_question_marks 已有相关内容,是否可以关闭该issue?

from clreq.

realfish avatar realfish commented on July 21, 2024

在不考虑计算机字符、字体的技术实现时,GB/T 15834—2011 应该是将「问号叠用」「叹号叠用」「问号叹号连用」视作多个标点连续使用的情况,并不强调它们在组合后构成了一个新的标点符号。

由于问号、叹号具有「避头」规则,因此事实上也就隐含了它们在叠用、连用时的分离禁则。

我建议在 §3.1.3 中,只侧重陈述:

  1. 问号、叹号的叠用或连用,有语义作用,并且在事实上也存在;
  2. **大陆方面,GB/T 15834—2011 作为事实上的权威参考文献,为上述用法提供了依据。

而关于 GB/T 15834—2011 在问号、叹号的叠用或连用时提及的占字规则(占一字宽、两字宽等相关叙述),建议归入标点挤压 / 标点宽度调整(也即 §3.1.6)相关章节去叙述。

from clreq.

yisibl avatar yisibl commented on July 21, 2024

@xfq 不过这里用的都是非中文的问号和感叹号,是不是改成 ?!比较好?然后交给标点挤压来实现合适的宽度。

叹问号于**大陆《标点符号用法》(GB/T 15834—2011)中作为叹号的延伸用法,当语气同时具备强烈的疑问与感叹时,可于问号后加上叹号(?!)。然而在许多作品中,也常见在叹号后加上问号(!?)的用法。此外,在同标准的问号与叹号用法也指明在语气加重时可叠用问号或者叹号,最多可叠用到三个(!!!、???)。

from clreq.

yisibl avatar yisibl commented on July 21, 2024

一些示例:

“过来先吃饭!毒不死你!两碗老豆腐管什么事?!”虎妞一把将他扯过去,好像老嫂子疼爱小叔子那样。(老舍《骆驼祥子》)
状元不也是“第一个”么?你算是什么东西呢!?(鲁迅《阿Q正传》)
有一种菌子,中吃不中看,叫做干巴菌。乍一看那样子,真叫人怀疑:这种东西也能吃?!(汪曾祺《昆明的雨》)
人有所好嘛!人家躲在房里放录音干你们屁事?!(莫言《红蝗》)
老大不小的人了,谁让你跟那帮孩子玩的?!眼看要高考了,不好好复习,我看你考不上大学怎么办?(徐小斌《做绢人的孔师母》)

部编版八年级语文上册-阅读 17 昆明的雨(P86-P90)

image

from clreq.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.