DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(m4.info.gz) Translit

Info Catalog (m4.info.gz) Substr (m4.info.gz) Text handling (m4.info.gz) Patsubst
 
 10.5 Translating characters
 ===========================
 
 Character translation is done with `translit':
 
  -- Builtin: translit (STRING, CHARS, [REPLACEMENT])
      Expands to STRING, with each character that occurs in CHARS
      translated into the character from REPLACEMENT with the same index.
 
      If REPLACEMENT is shorter than CHARS, the excess characters are
      deleted from the expansion.  If REPLACEMENT is omitted, all
      characters in STRING that are present in CHARS are deleted from
      the expansion.
 
      As a GNU extension, both CHARS and REPLACEMENT can contain
      character-ranges, e.g., `a-z' (meaning all lowercase letters) or
      `0-9' (meaning all digits).  To include a dash `-' in CHARS or
      REPLACEMENT, place it first or last.
 
      It is not an error for the last character in the range to be
      `larger' than the first.  In that case, the range runs backwards,
      i.e., `9-0' means the string `9876543210'.
 
      The macro `translit' is recognized only with parameters.
 
      translit(`GNUs not Unix', `A-Z')
      =>s not nix
      translit(`GNUs not Unix', `a-z', `A-Z')
      =>GNUS NOT UNIX
      translit(`GNUs not Unix', `A-Z', `z-a')
      =>tmfs not fnix
 
    The first example deletes all uppercase letters, the second converts
 lowercase to uppercase, and the third `mirrors' all uppercase letters,
 while converting them to lowercase.  The two first cases are by far the
 most common.
 
    Omitting CHARS evokes a warning, but still produces output.
 
      translit(`abc')
      error-->m4:stdin:1: Warning: too few arguments to builtin `translit'
      =>abc
 
Info Catalog (m4.info.gz) Substr (m4.info.gz) Text handling (m4.info.gz) Patsubst
automatically generated byinfo2html