PostScript语言教程(五、文本打印)
5.1、POSTSCRIPT字体
字体是具有统一规格的字符集。其中包含数百个字符集,包含熟悉的TIMES和HELVETICA
使用POSTSCRIPT字体
在你打印文本之前,你需要指定所需的字体,这个过程需要三个步骤
1、查找字体的信息。保存在当前环境中,他用来提供特定字体的形状,信息。
2、将字体缩放。
3、将缩放的额字体设置为当前字体,然后打印出来
%!PS-Adobe-3.0 /Times-Roman findfont 15 scalefont setfont 72 200 moveto (typography) show showpage
/Times-Roman findfont
查找名称为Times-Roman的字体,并把它保存到当前程序中
15 scalefont
设置字体大小为15号的Times-Roman字体
setfont
根据已经保存好的规格,对字体进行设置
5.2、动态设置字体大小
%!PS-Adobe-3.0 /scaleTimes % stack:scale
{
/Times-Roman findfont
each scalefont setfont
}def 6 scaleTimes
72 200 moveto (typography) show
showpage
/Times-Roman findfont 入栈
each scalefont setfont 入栈
6 scaleTimes意义为
6 /Times-Roman findfont each scalefont setfont
each 将 6 和 /Times-Roman 交换位置得
/Times-Roman findfont 6 scalefont setfont
默认支持的字体字体:
Times-Roman
Times-Bold
Times-Italic
Times-Boldltalic
Helvetica
Helvetica-Bold
Helvetica-Oblique
Helvetica-Boldltalic
Courier
Courier-Bold
Courier-Oblique
Courier-BoldOblique
%!PS-Adobe-3.0 /MainFont
/STSong-Light--GB-EUC-H findfont 15 scalefont def
/SloganFont
/Helvetica-Oblique findfont 7 scalefont def
/OwnerFont
/Helvetica findfont 10 scalefont def /rightshow
{
dup stringwidth pop
150 exch sub
0 rmoveto
show
}def /CardOutline
{
newpath
90 90 moveto
0 144 rlineto
252 0 rlineto
0 -144 rlineto
closepath
.5 setlinewidth
stroke
}def /doBorder
{
99 99 moveto
0 126 rlineto
234 0 rlineto
0 -126 rlineto
closepath
2 setlinewidth
stroke
}def /Diamond
{
newpath
207 216 moveto
36 -54 rlineto
-36 -54 rlineto
-36 54 rlineto
closepath
.8 setgray
fill
}def /doText
{
0 setgray
90 180 moveto
MainFont setfont
(AAA丶死刘) rightshow 90 168 moveto
SloganFont setfont
("The Club of Lonely Hearts") rightshow 216 126 moveto
OwnerFont setfont
(Sam Spade) show 216 111 moveto
(Owner) show
}def CardOutline
doBorder
Diamond
doText showpage
/STSong-Light--GB-EUC-H 为中文打印(注:中文打印时候要求文件格式为gb2312,否则字库不识别,打印出来是乱码)
stringwidth 获取当前字符串的宽度,寄存起为字符串宽度 ,字符串内容,宽度在顶端
dup stringwidth pop
150 exch sub
0 rmoveto
show
意义为:
获取字符串宽度,并将(150 - 字符串宽度的值,0)进行偏移,即:打印字符串在150处右端对其
PostScript语言教程(五、文本打印)的更多相关文章
- 无废话ExtJs 入门教程五[文本框:TextField]
无废话ExtJs 入门教程五[文本框:TextField] extjs技术交流,欢迎加群(201926085) 继上一节内容,我们在表单里加了个两个文本框.如下所示代码区的第42行位置,items: ...
- 你所不知道的 CSS 阴影技巧与细节 滚动视差?CSS 不在话下 神奇的选择器 :focus-within 当角色转换为面试官之后 NPOI 教程 - 3.2 打印相关设置 前端XSS相关整理 委托入门案例
你所不知道的 CSS 阴影技巧与细节 关于 CSS 阴影,之前已经有写过一篇,box-shadow 与 filter:drop-shadow 详解及奇技淫巧,介绍了一些关于 box-shadow ...
- Elasticsearch入门教程(五):Elasticsearch查询(一)
原文:Elasticsearch入门教程(五):Elasticsearch查询(一) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:h ...
- C#微信公众号开发系列教程五(接收事件推送与消息排重)
微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C ...
- Swift3.0语言教程使用字符串创建和初始化字符串
Swift3.0语言教程使用字符串创建和初始化字符串 Swift3.0语言教程使用字符串创建和初始化字符串,在编程语言中,字面值是很常见的数据描述形式.人们可以通过字面所表达的意思,获知其含义,尤其是 ...
- WCF入门教程五[WCF的通信模式]
一.概述 WCF在通信过程中有三种模式:请求与答复.单向.双工通信.以下我们一一介绍. 二.请求与答复模式 描述: 客户端发送请求,然后一直等待服务端的响应(异步调用除外),期间处于假死状态,直到服务 ...
- Swift语言教程中文文档
Swift语言教程中文文档 Swift语言教程(一)基础数据类型 Swift语言教程(二)基础数据类型 Swift语言教程(三)集合类型 Swift语言教程(四) 集合类型 Swift语言教程(五)控 ...
- 无废话WCF入门教程五[WCF的通信模式]
一.概述 WCF在通信过程中有三种模式:请求与答复.单向.双工通信.以下我们一一介绍. 二.请求与答复模式 描述: 客户端发送请求,然后一直等待服务端的响应(异步调用除外),期间处于假死状态,直到服务 ...
- Xamarin XAML语言教程使用Xamarin Studio创建XAML(二)
Xamarin XAML语言教程使用Xamarin Studio创建XAML(二) 使用Xamarin Studio创建XAML Xamarin Studio和Visual Studio创建XAML文 ...
- 转:spring boot log4j2配置(使用log4j2.yml文件)---YAML 语言教程
转:spring boot log4j2配置(使用log4j2.yml文件) - CSDN博客http://blog.csdn.net/ClementAD/article/details/514988 ...
随机推荐
- usbip 非源码安装
对于很多 Linux 发行版不能直接搜索 usbip 的包名进行安装 Kylin OS 其实他是包含在一个名为 linux-tools-generic 的软件包中的 对于 UOS 操作系统可以直接安装 ...
- reduced form(简化式)和structural form(结构式)
在复习软件构造的时候,我发现了这样一道练习题 例题要求我们对照给出的RI和AF画出相应的映射图.在这里产生了一个疑问,什么是reduced form?是分子小于分母的意思吗? 但是根据给出的答案,并不 ...
- 【PDF】日本流行文化中的中国经典巨著:《三国志》与《三国演义》 | 陈曦子 |
书本详情 标题:日本流行文化中的中国经典巨著:<三国志>与<三国演义> | 陈曦子 |年份:2019出版社:暨南大学出版社ISBN10:7566828355ISBN13:978 ...
- Windows10免安装版的Mysql
文章转载出处https://www.cnblogs.com/winton-nfs/p/11524007.html 免安装版的Mysql MySQL关是一种关系数据库管理系统,所使用的 SQL 语言是用 ...
- webpack 5 配置babel-loader babel7
1.安装Balel目的: 在webpack中 默认只能处理部分 ES6的新语法,一些更高级的ES6或ES7的语法,webpack是处理不了的这个时候就需要借助第三方的loader 来帮助webpack ...
- 当前我对Visual Grounding的看法
3D Visual Grounding 在看到相关论文的时候,我有一种非常严重的直觉--我的博士课题大概就是做这个了,虽然还没找老师聊. 简要解释:在这个任务中,研究者的主要目标是探索如何利用图像和自 ...
- 51电子-STC89C51开发板:程序烧录(刷写) 到 IC 设置
全部内容,请点击: 51电子-STC89C51开发板:<目录> --------------------------- 正文开始 --------------------------- ...
- Android学习——控件ProgressBar
1.常用属性
- SAP 附件功能 PRD环境无法删除 VIEW_ATTA
如图:界面上面没有打勾确认按钮 解决方案:来源网址 How to disable, delete and edit buttons function in attachment list. | SAP ...
- yolov5s yolov8n 在自己数据集上测试比较(640*640)
yolov5s -> 0.5map: 96.5 -> ncnn:75ms yolov8n -> 0.5map: 94.1 -> ncnn:52ms