加QQ81758415
快捷导航

为什么你就不能加个空格呢?

[复制链接]
查看: 1347|回复: 0

3万

主题

0

帖子

230

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
230
发表于 2019-5-22 00:00:00 | 显示全部楼层 |阅读模式


        想写这篇文章很久了,也想做这件事很久了,我个人感觉自己是有强迫症的,所以一直有什么事让我看着不太舒服就想把它纠正过来。



        文字,也不例外。



        现在大家看各种新闻啊、文章啊,几乎每篇文章都会有点数字和英文的吧,比如就拿 Python 来说,看下面两句话:



           

  •                
                            卧槽Python真牛逼啊排名第1了。
                   

           
           

  •                
                            卧槽 Python 真牛逼啊排名第 1 了。
                   

           


        Python 是不是第一先不说,就看看上面两句话的排版,哪个看起来更舒服?说实话我是真觉得第一句话太别扭了。因为我们大部分的文本编辑器和浏览器是没有对中文和外文的混排做排版优化的,所以如果写的时候如果二者之间不加个空格,二者就会紧紧贴在一起,然后就变成了上面第一句的样子。



        当然如果你觉得第一句的排版更好看,好吧,那么本文后面的内容其实可以不必看了。OK,如果你觉得第二个好看,那不妨接着看下去哈。


[h1]
        出发点
[/h1]

        首先有一点需要明确的是,中英文排版的美学是在于 Readability,易读性。而为了易读性,中英文之间是需要留有"间距"的,注意这里是间距,不是说的"空格"。"空格"会造成间距,但是间距不一定非得需要"空格"。



        好,所以,其实我们只需要留有适当的间距,就会显得美观易读,这个间距大约是一个半角空格的距离。



        好明确了这一点,我们只要能留有间距,不一定非得加空格。



        现在很多专业的排版软件,比如 Adobe InDesign、Microsoft Word 对中英文混排支持非常好,他们会有这么一个功能:可以设置中文西文之间留适当的间距。



        所以,如果如果我们使用了这些软件,本身就可以做到 Readability,这就够了。



        但是,为什么还会说空格的问题呢?这是因为现在绝大多数软件,不管是文本编辑器还是网页,都没有这个机制。



        几乎所有的文本编辑器和浏览器中,只要我们中文和英文连续输入,它们之间是不会出现间距的,就像文章开头所示的样例中的第一句话,显得很别扭。但比如 Adobe InDesign、Microsoft Word、IE 浏览器会有这方面的支持。



        所以,怎么解决?手动加空格。



        因此,总结下:



           

  •                
                            间距要有,但不一定是空格。
                   

           
           

  •                
                            部分软件能自动呈现间距,那就不必加空格。
                   

           
           

  •                
                            绝大多数软件不能自动呈现间距,那就需要手动加空格。
                   

           


        所以,作为强迫症的我,一定是会为了这个间距而去敲下一个空格的。



        「有研究显示,打字的时候不喜欢在中文和英文之间加空格的人,感情路都走得很辛苦,有七成的比例会在 34 岁的时候跟自己不爱的人结婚,而其余三成的人最后只能把遗产留给自己的猫。毕竟爱情跟书写都需要适时地留白。与大家共勉之。」



       



样式详情

        这里提供一些手动的解决方案,比如使用 JavaScript 添加标记,然后 CSS 控制标记的间距,解决方案可以参考:http://mastermay.github.io/text-autospace.js/。


[h1]
        编辑器
[/h1]

        那么有编辑器支持这个吗?有,Microsoft Word,用它我们不用加空格,会自动给我们加好间距。



        有人说,我平时不想用 Word,我就想用 Markdown,有编辑器吗?有,叫做 MarkEditor,它的 2.0 Pro 版本可以在打字的时候自动给我们添加空格。注意,这里是自动添加空格,不是自动留间距,是用空格的方式实现了间距。但是这个只能在你一个个打字的时候自动添加空格,如果把一个不带空格的话粘贴进去是不行的。另外 MarkEditor 解锁这个功能需要付费,所以我个人感觉其实不太划算的。



        所以,平时还是自己手动加空格吧,经济实惠方便。



        其他的编辑器如有好用的欢迎大家推荐哈。


[h1]
        类库
[/h1]

        好吧,看到现在,你是不是现在都想把自己的中英文笔记加上空格了?难道要手调吗?不需要。



        有现成的工具了,名字叫做 pangu,它支持各种语言,另外还有浏览器插件可以用,列表如下:


[h2]
        浏览器插件
[/h2]

           

  •                
                            Google Chrome
                   

           
           

  •                
                            Mozilla Firefox
                   

           

[h2]
        开发工具包
[/h2]

           

  •                
                            pangu.go (Go)
                   

           
           

  •                
                            pangu.java (Java)
                   

           
           

  •                
                            pangu.js (JavaScript)
                   

           
           

  •                
                            pangu.py (Python)
                   

           
           

  •                
                            pangu.space (Web API)
                   

           
           

  •                
                            pangu.clj (Clojure)
                   

           
           

  •                
                            pangu.dart (Dart)
                   

           
           

  •                
                            pangu.ex (Elixir)
                   

           
           

  •                
                            pangu.objective-c (Objective-C)
                   

           
           

  •                
                            pangu.php (PHP)
                   

           
           

  •                
                            pangu.rb (Ruby)
                   

           
           

  •                
                            pangu.rs (Rust)
                   

           
           

  •                
                            pangu.swift (Swift)
                   

           


        比如 Python 的话,就可以使用 pangu.py 这个包,GitHub 地址为:https://github.com/vinta/pangu.py,安装方式如下:

  1. pip3 install -U pangu
复制代码

        这么用就好了:

  1. import pangu
  2. print(pangu.spacing_text('當你凝視著bug,bug也凝視著你'))
复制代码

        运行结果如下:

  1. 當你凝視著 bug,bug 也凝視著你
复制代码

        嗯,它自动给我们添加好了空格,非常不错。



        不过这有点费劲,有简单一点的工具吗?



        有,我为此专门做了一个网页,功能很简单。



        在左侧输入源文本,右侧就会显示添加空格之后的文本,页面如下:


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩推荐

让创业更简单

  • 反馈建议:hackhl@outlook.com
  • 客服电话:暂时没有
  • 工作时间:周一到周五9点~22点

云服务支持

黑客联盟,快速搜索

关注我们

Copyright 黑客联盟安全防护网  Powered by©  技术支持:    ( 闽ICP备18000419号-1 )