有时候需要用到字体上下对齐,有些需要的文字较多,较少的文字需要加部分空格才能向上面的文字对齐。
本文实际测试了一下字体对齐需要的空格。
代码是在editplus里写的,该编辑软件里的字体首选项设置的是Courier New,在代码里,空两个空格就是一个汉字,符合通常以前认识的,一个汉字是占两个字符。但并不是所有字体都是空两个格正常。

如下是测试结果:(上面是三个文字,下面是两个文字,两个打印项对齐)
1.宋体——一个空格,不正常,对不齐,两个字的靠左。
2.宋体——两个空格,正常,对齐。
3.微软雅黑——两个空格,不正常,对不齐,两个字靠左。
4.微软雅黑——三个空格,正常,对齐。(在代码了里,由于编辑器用的Courier New,在代码里看上去是对不齐,但是预览打印设置该字体可以对齐)

这样,就存在字体不同,导致需要的空格不同。
有用户反馈在搜狗输入法里,输入v1,可以选空白字符,这样打出来的就是空字,占一个汉字。(这个应该是全角空字符,此外 在特殊符号里也能找到)

实际测试,无论是宋体,还是微软雅黑,都可以用搜狗输入法的v1空白字符,输入一个字符用来占一个汉字,占出来的两种字体都可以对齐。

关于对不齐解决方法有两种:
1.试验该字体几个空格可以对齐。
2.使用输入法自带的空字试试。(例如搜狗中输入v1,找到空字)

代码:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WEB打印控件LODOP</title>
<script language="javascript" src="LodopFuncs.js"></script>
</head>
<body>
<a href="javascript:prn1_preview()">宋体 微软雅黑空格测试</a><br>
<a href="javascript:prn2_preview()">微软雅黑一个搜狗空字符</a><br>
<script language="javascript" type="text/javascript">
var LODOP; //声明为全局变量
function prn1_preview() {
LODOP=getLodop();
LODOP.PRINT_INIT("");
LODOP.SET_PRINT_STYLE("FontSize",17); //editplus该代码编辑软件首选项设置的代码字体是Courier New字体,
LODOP.ADD_PRINT_TEXT(20,40,134,32,"文本项:");
LODOP.ADD_PRINT_TEXT(72,40,134,32,"文 本:");//默认(宋体),一个空格,不正常
//Courier New字体一个空格不正常,宋体一个空格不正常。 LODOP.ADD_PRINT_TEXT(20,224,134,32,"文本项:");
LODOP.ADD_PRINT_TEXT(72,224,134,32,"文 本:");//默认(宋体),两个空格,正常
//Courier New字体两个空格正常,宋体两个空格正常。 LODOP.ADD_PRINT_TEXT(160,40,134,32,"文本项:");
LODOP.ADD_PRINT_TEXT(212,40,134,32,"文 本:");//(微软雅黑),两个空格,不正常
LODOP.SET_PRINT_STYLEA(0,"FontName","微软雅黑");
LODOP.SET_PRINT_STYLEA(-1,"FontName","微软雅黑");
//Courier New字体两个空格正常,微软雅黑两个空格不正常。 LODOP.ADD_PRINT_TEXT(160,224,134,32,"文本项:");
LODOP.ADD_PRINT_TEXT(212,224,134,32,"文 本:");
LODOP.SET_PRINT_STYLEA(0,"FontName","微软雅黑");//(微软雅黑),三个空格,正常
LODOP.SET_PRINT_STYLEA(-1,"FontName","微软雅黑");
//Courier New字体三个空格不正常,微软雅黑三个空格正常。 LODOP.ADD_PRINT_TEXT(160,424,134,32,"文本项:");
LODOP.ADD_PRINT_TEXT(212,424,134,32,"文 本:");//(微软雅黑),一个搜狗v1空字,正常
LODOP.SET_PRINT_STYLEA(0,"FontName","微软雅黑");
LODOP.SET_PRINT_STYLEA(-1,"FontName","微软雅黑");
//Courier New字体一个搜狗v1空字正常,微软雅黑一个搜狗v1空字正常。 LODOP.PRINT_DESIGN();
// LODOP.PREVIEW();
};
function prn2_preview() {
LODOP=getLodop();
LODOP.PRINT_INIT("");
LODOP.SET_PRINT_STYLE("FontSize",17);
LODOP.ADD_PRINT_TEXT(20,40,134,32,"文本项:");
LODOP.ADD_PRINT_TEXT(70,40,134,32,"文 本:");//(微软雅黑),一个搜狗v1空字,正常
LODOP.SET_PRINT_STYLEA(0,"FontName","微软雅黑");
LODOP.SET_PRINT_STYLEA(-1,"FontName","微软雅黑");
LODOP.PRINT_DESIGN();
};
</script>
</body>

图示 :

LODOP带空格和不带空格的字体对齐的更多相关文章

  1. 掘金 里面 写文章 带目录的时候 用#(空格)标题 后面用## title,一个页面只有一个H1

    掘金 里面 写文章 带目录的时候 用#(空格)标题 后面用## title,一个页面只有一个H1

  2. C# 中将多个空格替换成一个空格

    2013-04-17 15:36 C# 中如何将多个空格替换成一个空格? 1 myString = Regex.Replace(myString, @"\s+", " & ...

  3. C++中#include包含头文件带 .h 和不带 .h 的区别

    C++中#include包含头文件带 .h 和不带 .h 的区别? 如 #include <iostream> 和 #include <iostream.h> 包含的东西有哪些 ...

  4. java将多个连续的空格转化成一个空格

    java将多个连续的空格转化成一个空格: System.out.println("a a".replaceAll(" + ", " ")); ...

  5. c程序设计语言_习题1-9_将输入流复制到输出流,并将多个空格过滤成一个空格

    Write a program to copy its input to its output, replacing each string of one or more blanks by a si ...

  6. HttpHelps类,用来实现Http访问,Post或者Get方式的,直接访问,带Cookie的,带证书的等方式,可以设置代理

    原文地址:http://blog.csdn.net/cdefg198/article/details/8315438 万能框架:http://www.sufeinet.com/forum.php?mo ...

  7. 华为CloudIDE免费公测,带你出坑带你飞

    你的代码仓库上线了吗?是不是有时候遇到这样的问题? 只想浏览一下代码,却发现线上浏览效果不佳,高亮显示什么的都没有.而在桌面端浏览要需要先同步代码,再用桌面端的IDE打开.尤其是使用git的时候,先要 ...

  8. python web开发-flask中的url带斜线和不带斜线区别详解

    通过flask进行路由配置的时候,有一个细节,就是同样的url,带上"/"和不带"/"有什么区别. 举例说明: 比如有个url,名字为"/url&qu ...

  9. js中new函数后带括号和不带括号的区别

    用new创建构造函数的实例时,通常情况下new 的构造函数后面需要带括号(譬如:new Parent()). 有些情况下new的构造函数后带括号和不带括号的情况一致,譬如: function Pare ...

随机推荐

  1. Java【基础学习】 之调用构造方法顺序【坑】

    解释:这里的super()仅仅是用来占位的,实际上,必须是严格按照分层初始化的过程:1.先初始化父类X的成员变量,即初始化成员变量Y,打印出:Y2.初始化父类X的构造方法,打印出:X3.父类初始化完成 ...

  2. neo4j 启动与关闭

    neo4j开启与关闭 进入neo4j目录bin下. cd到bin目录下,执行启动命令: ./neo4j stop 另外neo4j还有其他命令,执行方式相同: neo4j { console | sta ...

  3. 搞清楚ourhdr.h是什么及运行第一个UNIX C程序

    好多人开始学:UNIX 环境高级编程这本书时:看到书里面说的头文件ourhdr.h而找不到她在哪里:而且无法开始继续学习:其实这个就是系统的内核标准头文件: 而她的位置在:/usr/include/u ...

  4. COGS 1583. [POJ3237]树的维护

    二次联通门 : COGS 1583. [POJ3237]树的维护 /* COGS 1583. [POJ3237]树的维护 树链剖分 + 边权化点权 线段树 单点修改 + 区间取相反数 + 查询区间最大 ...

  5. 15、Work原理及源码分析

    一.Work原理 1.图解 Worker启动Driver的一个基本原理,就是Worker内部会启动一个线程,这个线程可以理解为,就是DriverRunner,然后DriverRunner就会去负责启动 ...

  6. Mysql插入多条数据测试

    --新建存储过程 create procedure doinsert3() begin declare i int; declare j int; set i = 0; set j = 0; whil ...

  7. 浅析python-socket编程

    1. 什么是socket? socket是套接字的英文名称, 我们知道在TCP/IP协议簇体系中,将网络状态分为了应用层.传输层.网络层.物理层等四种状态,而socket是与传输层密切相关的,其主要实 ...

  8. argmin ,argmax函数

    在数学中,ARG MAX(或ARGMAX)代表最大值,即给定参数的点集,给定表达式的值达到其最大值: 换一种说法, 是f(x)具有最大值M的x的值的集合.例如,如果f(x)是1- | x |,那么它在 ...

  9. Python ( )、[ ]、{}的区别

    python语言最常见的括号有三种,分别是:小括号( ).中括号[ ]和大括号也叫做花括号{ },分别用来代表不同的python基本内置数据类型. python中的小括号( ):代表tuple元组数据 ...

  10. Wamp 本地访问特别慢,原因在这

      Wamp 本地访问特别慢.打开空的页面都要400ms,彻底疯了     什么localhost改为127.0.0.1 什么 清理日志缓存,都不好使, 重点在Xdebug,安装了Xdebug之后变慢 ...