IDL字体

[IDL下的字体分为三种,可以根据系统变量!P.Font的值进行判断。值为-1代表矢量字体(也可称为Hershey字体),值为0代表设备字体或系统字体和1代表TureType轮廓字体

1 矢量字体
    矢量字体是直接图形法下的缺省字体,它们有不依赖于平台的优点且极易在三维空间旋转。IDL系统中有下面这些类型的矢量字体
         

     可查看系统帮助链接
http://127.0.0.1:57564/help/topic/com.rsi.idl.doc.core/Hershey_Vector_Font_Samples.html?resultof=%22%66%6f%6e%74%22%20
    在缺省值情况下,直接图形使用的是矢量字体,即AXIS, CONTOUR, PLOT, SHADE_SURF, SURFACE, XYOUTS.等功能函数中如设置关键词font为-1,则使用的字体为矢量字体
    字体选择可通过字符串前添加”!index”来进行,其中index为字体的索引,取值范围3~20,文字大小可通过关键字charsize进行控制。
IDL> XYOUTS,.1, .1, '!3Hershey Font ' ,  /NORM, CHARSIZE=4
IDL> XYOUTS,.1, .4, '!4Hershey Font ' ,  /NORM, CHARSIZE=4
IDL> XYOUTS,.1, .7, '!5Hershey Font ' ,  /NORM, CHARSIZE=4
         

2 设备字体
    设备字体(也称为系统字体)通过设置!P.Font系统变量或 Font关键字为0来加以选择。
    如在AXIS, CONTOUR, PLOT, SHADE_SURF, SURFACE, XYOUTS.等中进行系统字体的显示时,需要采用这种方式。系统字体的获得可以通过Device函数来获得,获得系统字体个数及系统字体名字的方法如下:
IDL> Device,Set_Font='*',Get_FontNum = deviceFontsNum
IDL> print,deviceFontsNum
223
IDL> Device,Set_Font='*',Get_FontNames = DeviceFonts
IDL> help,DeviceFonts
DEVICEFONTS     STRING    = Array[223]
如显示输出汉字的方法;
IDL> Window,1,xsize = 400,ySize =300
IDL> x=FINDGEN(100)
IDL>  y=x^2
IDL> DEVICE,Set_Font   ='隶书'
IDL>;设置自定义字体模式
IDL>!p.font = 0
IDL> PLOT, x, y, TITLE='回归分析'
      
IDL>;设置字体
IDL> DEVICE,Set_Font   ='宋体'
IDL> PLOT,x,y ,title ='回归分析'
     
3 TrueType字体
     该字体也称为轮廓字体,这个字体由一系列的外形轮廓描述的,这些轮廓通过创建一系列的多边形来填充。IDL有四种TrueType字体家族系列:Times、Helvetica、Courier和Symbol。TrueType字体渲染需要花更长的时间,因为这种字体首先必须刻绘出来,然后创建相应的填充多边形,最后填充。TrueType字体IDL对象图形系统的一种缺省字体
      添加自定义TrueType字体的方法,将字体ttf文件拷贝到IDL安装目录的/resource/fonts/tt下,然后修改ttfont.map文件(ASCII码文本),在最后一行添加"beijing2008" Olympic_Beijing_Pictos.ttf 1.0 1.0,其中Fontname-“beijing2008”是使用该字体时的标示符,Filename-“Olympic_Beijing_Pictos.ttf”是拷贝的字体文件名, 调用的方法见例子下面例子。
pro test_ttfont
  ;
  device, set_font ='beijing2008',/tt_font
  ;
  !p.font =1
  window,2,xsize = 1200,ysize =260
  xyouts,0,0,'012abc',charsize =20,/device
end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值