GMT

문자 출력하기 [pstext]

작성자
heukchoo
작성일
2021-01-17 20:18
조회
735
 

Synopsis

pstext [ textfiles ] -Jparameters -Rwest/east/south/north[/zmin/zmax][r] [ -A ] -B[p|s]parameters [ -D[j|J]dx[/dy][v[pen]] ] [ -F[+a[angle]][+c[justify]][+f[font]][+j[justify]][+h|+l|+r[first] |+ttext|+z[format]] ] [ -Gcolor ] [ -Jparameters ] [ -K ] [ -L ] [ -M ] [ -N ] [ -O ] [ -P ] [ -Ql|u ] [ -To|O|c|C ] [ [ -Wpen ] [ -Xx_offset ] [ -Yy_offset ] [ -U[stamp] ] [ -Z ] [ -acol=name[...] ] [ -ccopies ] [ -fflags ] [ -hheaders ] [ -iflags ] [ -pflags ] [ -ttransp ] [ -oflags ] [ -:[i|o] ]

 




지도의 지명이나 심볼의 설명을 표시하고자 할 때, 도면에 문자를 출력해야 한다.

psxy의 문자 심볼을 사용해도 되나 GMT에서는 문자를 출력하는 전용 명령어인 pstext를 제공한다.

pstext에는 많은 옵션이 사용되진 않는다.
앞의 명령어 사용법에서 이미 설명한 옵션은 제외하고 설명하겠다.

 



 
pstext는 psxy와 마찬가지로 위치 데이터 등을 입력받아 사용한다.
데이터는 파일로 입력받거나 파이프라인(|)을 통해 콘솔에서 직접 입력받을 수도 있다.

-J와 -R은 필수 옵션이며 나머지는 부가 옵션이다.


 다음 세개의 명령행은 아래와 같이 모두 동일한 결과를 표출한다.
echo 5 1 heukchoo | gmt pstext -JX15c/2c -R0/10/0/2 -Ba1f1WESN -F+f20p,0,red+a0+jCM -K > text.ps

echo 5 1 0 CM heukchoo | gmt pstext -J -R -B -F+f20p,0,red+a+j -K -O >> text.ps

echo 5 1 20p,0,red 0 CM heukchoo | gmt pstext -J -R -B -F+f+a+j -O >> text.ps
 



 
첫 행은 echo 명령을 통해 'x, y, 표출할 문자'의 3개 열을 데이터로 전달하였다.
-F 옵션은 +f 첨자를 통해 문자의 '크기, 폰트종류, 색깔'을 지정하고 기울기 각도(+a), 글의 위치(+j)를 정한다.

문자의 크기는 보통 20p와 같이 픽셀 단위로 표시한다.

첨자 +j는 자세히 설명하면 출력 위치  x, y에 맞출 글의 위치 이다.
글을 사각형으로 보았을 때 LT(좌상), LM(좌중), LB(좌하), CT(중앙상), CM(중앙중), CB(중앙하),
RT(우상), RM(우중), RB(우하) 중에서 선택해서 입력한다.

파일을 통해 여러개의 문자를 각각 다른 스타일로 표현하려면 위 2~3행의 예와 같이 첨자 -F 옵션에 +f, +a, +j을 값 없이 명시하고 그 순서대로(필수) 파일의 x, y 와 표출할 문자 사이에 각각의 값을 설정하면 된다.
 

폰트 종류

gmt pstext -L

위의 -L 옵션을 사용하면 지정된 '폰트 번호'와 '폰트 이름'이 출력된다.
번호 또는 이름을 명시하여 지정할 수 있다.
 

몇가지 옵션

-G는 문자 크기에 해당하는 배경 박스(Box)에 색을 설정한다.

-W는 배경 박스 테두리의 스타일을 설정한다.

-T는 배경 박스의 스타일을 지정한다.
('-TO'는 라운드 형태의 사각박스)

-C는 문자와 배경박스 사이의 간격을 설정하여 배경박스 크기를 조정한다.
('-C20p/30p' 와 같이 가로, 세로 offset 값을 지정)

-N는 도곽을 벗어난 문자가 잘리지 않고 표출되게 한다.

 



 
다양한 문자의 표현

한글과 같은 전문 프로그램은 잘 정돈된 특수문자표를 보유하고 있어 특수 문자를 편리하게 선택하여 사용할 수 있다.
반면, 커맨드 입력 방식의 GMT에는 이러한 특수문자표는 사치이고 약간은 불편한 방식으로 특수문자를 사용한다.

이스케이프 문자는 어떠한 문자에 붙여서 어떠한 문자가 다른 역할을 하도록 한다.

GMT에서는 @를 활용한 이스케이프 문자로 특수문자와 세세한 문자 스타일을 지정한다.
(지정하려는 문자를 이스케이프 문자로 감싼다.)

 
@~ 은 알파벳을 그리스 문자로 변환한다. (@~a@~ = α)

@+ 는 윗첨자로 변환한다.

@- 는 아래첨자로 변환한다.

@# 은 소문자를 대문자로 변환한다.

@_ 는 밑줄을 표시한다.

@%fontno% 은 폰트종류를 변환한다.(ab@%1%cde = cde를 폰트1로 변환)
단!!, 윈도우서는 %가 특별한 문자이므로 %%의 형태로 사용해야 한다.

@:size: 는 폰트 크기를 변환한다.(fontno와 동일)

@;color; 는 폰트 색을 변환한다.(fontno와 동일)

@! 은 다음에 오는 두개의 문자를 하나로 겹쳐 표출한다.

@@ 은 @문자를 나타낸다.

 
다음은 @ 이스케이프로 간편히 사용할 수 있는 특수문자 이다.

Code Effect Code Effect
@E Æ @e æ
@O Ø @o ø
@A Å @a å
@C Ç @c ç
@N Ñ @n ñ
@U Ü @u ü
@s ß @i í
 

또다른 방법으로 역슬래쉬(\)가 붙은 표준 옥타코드를 사용하여 특수문자를 표현할 수 있다.
예로 \041 은 ! 이다.(아래 코드표 참조)

 


 
다음은 예제이다.

플랫폼과 편집기에 따라 옥타코드를 선택해야 한다.(예는 Standard+)

 
2@~p@~r@+2@+h@-0@- E\363tv\363s = 2πr2hEötvös

10@+-3@+ @Angstr\363m = 10-3 Ångström

Stresses are @~s@~@+*@+@-xx@- MPa = Stresses are σ*xx MPa

Se@nor Gar@con = Señor Garçon

M@!\305anoa stra@se = Manoa straße

A@\#cceleration@\# (ms@+-2@+) = ACCELERATION
전체 0