Man Linux: Main Page and Category List

NAME

       set_ucodepage  -  Sets 8-bit to Unicode conversion tables. Allegro game
       programming library.

SYNOPSIS

       #include <allegro.h>

       void set_ucodepage(const unsigned short *table,  const  unsigned  short
       *extras);

DESCRIPTION

       When  you select the U_ASCII_CP encoding mode, a set of tables are used
       to convert between 8-bit characters and their Unicode equivalents.  You
       can  use this function to specify a custom set of mapping tables, which
       allows you to support different 8-bit codepages.

       The `table' parameter points to an array of 256 shorts,  which  contain
       the  Unicode  value  for  each character in your codepage. The `extras'
       parameter, if not NULL, points to a list of mapping pairs,  which  will
       be used when reducing Unicode data to your codepage. Each pair consists
       of a Unicode value, followed by the way it  should  be  represented  in
       your  codepage.   The  list is terminated by a zero Unicode value. This
       allows you to create a many->one mapping, where many different  Unicode
       characters  can  be  represented  by  a  single codepage value (eg. for
       reducing accented vowels to 7-bit ASCII).

       Allegro will use the `table' parameter when  it  needs  to  convert  an
       ASCII string to an Unicode string. But when Allegro converts an Unicode
       string to ASCII, it will use  both  parameters.  First,  it  will  loop
       through the `table' parameter looking for an index position pointing at
       the Unicode value it is trying to convert (ie. the `table' parameter is
       also  used  for  reverse matching). If that fails, the `extras' list is
       used. If that fails too, Allegro will put the character `^', giving  up
       the conversion.

       Note  that Allegro comes with a default `table' and `extras' parameters
       set internally. The default `table' will convert  8-bit  characters  to
       `^'.    The  default  `extras'  list  reduces  Latin-1  and  Extended-A
       characters to 7 bits in a sensible way (eg. an accented vowel  will  be
       reduced to the same vowel without the accent).

SEE ALSO

       set_uformat(3alleg)