You are here: Home / Services / Data Analysis and Visualization / Visualization / Software / NCL / examples / source_code / DKRZ NCL font and function code example

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

Document Actions