平时我们在ueditor中都是输入的中文,排版都是从左向右输入。但是当输入一些少数民民族言时,ueditor却不能正常显示。

例如蒙古文字,传统蒙文是竖排书写。如下图:传统蒙古文排文方式,《蒙古人的文字与书籍》

在word2010中,是支持竖排的,从左向右、从右向左都能完美支持:

但是在网页中怎样显示呢?其实css早就支持文字的书写方向了。IE 在文字排版方面一直是先驱,早在 IE 5.5 就实现了私有属性「writing-mode」,后来被 W3C 在 CSS2 中采纳作为规范。在 Level 3 草案中「writing-mode」是 「direction」 和 「block-flow」 属性的简写[1],2010年起「block-flow」 属性被删除了,其功能融合进「writing-mode」。

但在最新的规范中「writing-mode」属性缩减为三个值:

  • horizontal-tb(默认值):自上而下,从左到右的横排书写方式。(类似IE私有值lr-tb)
  • vertical-rl:从右到左,自上而下的竖排书写方式(典型的汉字竖排排版方式)。(类似IE私有值tb-rl)
  • vertical-lr:从左到右,自上而下的竖排书写方式(主要用于内蒙古的蒙古语满语。)。
  • 由于自下而上的横排书写方式太少见,经过讨论去掉了「horizontal-bt」关键字。

既然css支持竖排,那么我们就可以在ueditor中添加竖排的支持。

1.   先在ueditor.config.js中添加工具栏按钮,分别表示竖排从右向左、竖排从左向右、恢复默认的横向排版。

2.   在zh-cn.js中增加按钮的提示

3.   在ueditor.css中添加按钮的图标

4.   在ueditor.all.js中添加按钮点击事件的处理和命令状态的查询

5.   在ueditor.all.js中添加按钮的事件监听

下面是ueditor中最终的实现效果:

竖排从左向右:

竖排从左向左:

gif操作过程:

最后,有些文字的输入方向是从右向左的,输入的光标始终在一行的最左边,这个功能ueditor已经有了。在ueditor.config.js中开启就可以了:

最后的效果:

Ueditor增加文字竖排显示和从右向左输入(支持蒙古文和维吾尔文)的更多相关文章

  1. 实现input表单从右向左输入

    <input style="text-align:right"></input>

  2. C# WinForm ProgressBar垂直显示进度和从右向左显示进度

    1. 尝试将ProgressBar的RightToLeft属性设置为System.Windows.Forms.RightToLeft.Yes,同时将RightToLeftLayout属性设置为true ...

  3. CSS实现文字竖排 DIV CSS文字垂直竖列排版显示如何实现?

    DIV CSS实现文字竖排排版显示兼容各大浏览器,让文字垂直竖列排版布局. 有时我们需要一段文字进行从上到下竖列排版,我们知道CSS样式中有一样式可以让其竖列排版,但所有浏览器不全兼容,逼不得已放弃. ...

  4. VC中实现文字竖排的简单方法

    好多人都觉得在VC中实现文字竖排是一件很难的事情,其实可以使用“躺”着的字体很方便的实现文字竖排. Windows中有一些字体是“躺”着的,例如:@Fixedsys.@System.@宋体.@黑体等等 ...

  5. jQuery hover事件鼠标滑过图片半透明标题文字滑动显示隐藏

    1.效果及功能说明 hover事件制作产品图片鼠标滑过图片半透明,标题文字从左到右滑动动画移动显示隐藏 2.实现原理 首先把效果都隐藏,然后定义一个伪类来触发所有的效果,接下来当触发伪类后会有一个遍历 ...

  6. Android 4.2原生支持从右到左的文字排列格式

    Android 4.1(Jelly Bean)  在TextView和EditText 元素里对“双向文字顺序”提供了有限的功能支持,允许应用程序在编辑和显示字符的时候,能够同时支持从左到右(LTR) ...

  7. CSS实现文字竖排排版

    CSS实现文字竖排 注意: writing-mode: vertical-rl;存在兼容性问题,在IE上正常,在谷歌的低版本上可能识别不了. 如果文字少的话考虑直接在每一个文字中间加一个<br& ...

  8. 初学Direct X(9) ——文字的显示

    初学Direct X(9) --文字的显示 本次学习如何使用ID3DXFont创建字体,使得我们可以在任何安装了Windows系统中TrueType字体来打印文字,不过最好使用标准字体,这样文字在每一 ...

  9. js实现文字逐个显示

    先把代码摆上了吧: <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtm ...

随机推荐

  1. MyCP.java蓝墨云班课

    题目要求: 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内容 ...

  2. 使用Swagger辅助开发Fabric Application的Web API

    前面的几篇博客,我们已经把Fabric环境搭建好了,也可以使用Go开发ChainCode了,那么我们在ChainCode开发完毕后,可以通过CLI来测试ChainCode的正确性,ChainCode开 ...

  3. 利用ELK分析Nginx日志生产实战(高清多图)

    本文以api.mingongge.com.cn域名为测试对象进行统计,日志为crm.mingongge.com.cn和risk.mingongge.com.cn请求之和(此二者域名不具生产换环境统计意 ...

  4. python上下文管理

    一.python上下文介绍: python中的上下文,指的就是代码所执行的环境状态,或者运行的场景 python上下文管理器规定了某个对象的使用范围,当进入或者离开了使用范围,会有相应的操作,多用于资 ...

  5. JDK8中HashMap

    引用别人的一句话: JDK1.6,JDK1.7中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里.但是当位于一个桶中的元素较多,即hash值相等的元素较多 ...

  6. [题解] Codeforces Round #549 (Div. 2) B. Nirvana

    Codeforces Round #549 (Div. 2) B. Nirvana [题目描述] B. Nirvana time limit per test1 second memory limit ...

  7. [蓝桥杯]2015蓝桥省赛B组题目及详解

    /*——————————————————————————————————————————————————————————— [结果填空题]T1 题目:奖券数目 有些人很迷信数字,比如带“4”的数字,认 ...

  8. python工程师成长之路精品课程(全套)

    python工程师成长之路精品课程(全套)  有需要联系我:QQ:1844912514 什么是Python? Python是一门面向对象的编程语言,它相对于其他语言,更加易学.易读,非常适合快速开发. ...

  9. vue.js实战——.native修饰符

    https://blog.csdn.net/qq_29468573/article/details/80771625 除了用v-on在组件上监听自定义事件外,也可以监听DOM事件,这时可以用.nati ...

  10. WebSocket群聊与单聊

    一 . WebSocket实现群聊 py文件代码 # py文件 from flask import Flask, render_template, request from geventwebsock ...