Sie sind hier: Startseite / Services / Data Analysis and Visualization / Visualization / Software / NCL / examples / source_code / DKRZ NCL font and function code example
Info
Alle Inhalte des Nutzerportal sind nur auf Englisch verfügbar.

DKRZ NCL font and function code example

The script gives an overview how to change font settings using gsn_text_ndc.

Example script:

;----------------------------------------------------------------------
;-- DKRZ NCL example:     NCL_font_and_function_codes.ncl
;--
;-- Description:          show text function codes
;--                       - set font color
;--                       - set font via @txFont or via ~Fxx~ in text string
;--                       - decrease/increase font size
;--                       - increase font thickness
;--                       - superscript and subscript
;--                       - vertical justification
;--                       - German Umlaute
;--
;-- 30.06.14  meier-fleischer(at)dkrz.de
;----------------------------------------------------------------------
;load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl" ;-- not needed since v6.2.0
;load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"  ;-- not needed since v6.2.0

begin
;-- open a workstation
  wks_type          = "png"
  wks_type@wkWidth  =  1024
  wks_type@wkHeight =  1024
  wks  = gsn_open_wks(wks_type, "plot_function_codes")  ;-- open a workstation

;-- set plot resources
  ndcres  =  True     ;-- open a kind of container to store all plot settings
  ndcres@gsnDraw          =  False             ;-- don't advance frame
  ndcres@gsnFrame         =  False             ;-- don't advance frame
  
  ndcres@txFontHeightF    =  0.03              ;-- decrease font size
  ndcres@txJust           = "CenterCenter"     ;-- text justification
  ndcres@txFont           = "helvetica-bold"   ;-- change font

  txid = gsn_create_text_ndc(wks,"Fonts and Function Codes", 0.5,0.96,ndcres)

  ndcres@txFontHeightF    =  0.03              ;-- decrease font size
  ndcres@txJust           = "BottomLeft"       ;-- text justification
  ndcres@txFont           = "helvetica"        ;-- change font

  line1 = "Font Height = 0.03"
  gsn_text_ndc(wks, line1, 0.09, 0.86, ndcres) 

  line2 = "Font Height = 0.015"
  ndcres@txFontHeightF    =  0.015             ;-- decrease font size
  gsn_text_ndc(wks, line2, 0.09, 0.83, ndcres)
  
  line3 = "Font Height = 0.01"
  ndcres@txFontHeightF    =  0.01              ;-- decrease font size
  gsn_text_ndc(wks, line3, 0.09, 0.80, ndcres) 

;-- superscripting
  ndcres@txFontHeightF    =  0.03              ;-- make font size smaller
  ndcres@txFontColor      = "blue"             ;-- change to white
  ndcres@txJust           = "BottomLeft"       ;-- text justification

  super = "Superscripting:  35.5~S~o~N~   x~S~2~N~   kgm~S~-2~N~s~S~-1~N~"
  gsn_text_ndc(wks, super, 0.09, 0.74, ndcres) 

;-- subscripting
  sub   = "Subscripting:     H~B~2~N~O   CO~B~2~N~"
  gsn_text_ndc(wks, sub,   0.09, 0.69, ndcres) 
  
;-- different font size in one string
  str_one = "Different ~Z70~font ~Z130~sizes~Z100~ in one ~Z60~string~Z100~"
  ndcres@txFontColor      = "seagreen"         ;-- change to white
  gsn_text_ndc(wks, str_one, 0.09, 0.63, ndcres) 

;-- Umlaute
  Auml  = "A~H-15V6F35~H~FV-6H3~"
  auml  = "a~H-13V2F35~H~FV-2H3~"
  Ouml  = "O~H-16V6F35~H~FV-6H3~"
  ouml  = "o~H-14V2F35~H~FV-2H3~"
  Uuml  = "U~H-15V6F35~H~FV-6H3~"
  uuml  = "u~H-13V2F35~H~FV-2H3~"
  str   = "Umlaute:    "+Auml+" "+auml+"   "+Ouml+" "+ouml+"   "+Uuml+" "+uuml
  
  ndcres@txFontColor      = "black"            ;-- change to white
  ndcres@txFontHeightF    =  0.025             ;-- make font size smaller
  gsn_text_ndc(wks, str, 0.09, 0.57, ndcres) 

;-- total 43 fonts available in v6.2.0

  str_abc   = "abcdefghijklmnopqrstuvwxyz"

;-- helvetica-bold
  ndcres@txFont           = "helvetica-bold"   ;-- change font
  ndcres@txFontColor      = "red"              ;-- change to white
  gsn_text_ndc(wks, "Font examples (43 fonts available in NCL)", 0.09, 0.50, ndcres) 

;-- default: helvetica
  ndcres@txFontColor      = "black"            ;-- change to white
  ndcres@txFont           = "helvetica"        ;-- change font  
  gsn_text_ndc(wks, "helvectica :      "+str_abc, 0.09, 0.45, ndcres) 

;-- times-roman
;  ndcres@txFont           = "times-roman"     ;-- change font
  gsn_text_ndc(wks, "~F21~times-roman :  ~F25~"+str_abc, 0.09, 0.40, ndcres) 

;-- times-bold
;  ndcres@txFont           = "times-bold"      ;-- change font
  gsn_text_ndc(wks, "~F21~times-bold :     ~F26~"+str_abc, 0.09, 0.35, ndcres) 

;-- courier
;  ndcres@txFont           = "courier"         ;-- change font
  gsn_text_ndc(wks, "~F21~courier :          ~F29~"+str_abc, 0.09, 0.30, ndcres) 
  
;-- courier-bold
;  ndcres@txFont           = "courier-bold"    ;-- change font
  gsn_text_ndc(wks, "~F21~courier-bold :  ~F30~"+str_abc, 0.09, 0.25, ndcres) 
  
;-- greek
;  ndcres@txFont           = "greek"           ;-- change font
  gsn_text_ndc(wks, "~F21~greek :            ~F33~"+str_abc, 0.09, 0.20, ndcres) 

;-- math-symbols
  ndcres@txFontThicknessF =  2.0
;  ndcres@txFont           = "math-symbols"    ;-- change font
  gsn_text_ndc(wks, "~F21~math-symbols : ~F34~aeqrstu1234567890!$%&/()", 0.09, 0.15, ndcres) 

;-- weather2
;  ndcres@txFont           = "weather2"        ;-- change font
  gsn_text_ndc(wks, "~F21~weather2 :       ~F37~"+str_abc, 0.09, 0.10, ndcres) 

;-- text-symbols
  str_abc = "bcdklmnopqrstuxyz236-+;"
;  ndcres@txFont           = "text-symbols"    ;-- change font
  gsn_text_ndc(wks, "~F21~text-symbols :  ~F35~"+str_abc, 0.09, 0.05, ndcres) 

;-- across / down
  down   = "write downward"
  ndcres@txFontThicknessF =  1.0               ;-- default: 1.0
  ndcres@txFontColor      = "seagreen"         ;-- change to white
  ndcres@txJust           = "CenterCenter"     ;-- text justification
  gsn_text_ndc(wks, "~F21D~"+down,   0.03, 0.3, ndcres) 

;-- create the plot
  draw(txid)
  frame(wks)
end

Artikelaktionen