LODOP带空格和不带空格的字体对齐

有时候需要用到字体上下对齐,有些需要的文字较多,较少的文字需要加部分空格才能向上面的文字对齐。
本文实际测试了一下字体对齐需要的空格。
代码是在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>

图示 :

原文地址:https://www.cnblogs.com/huaxie/p/11016207.html