#ifndef CHARMAPSTRS_H
#define CHARMAPSTRS_H


/****************************************************************************/


/* This file was created automatically by CatComp.
 * Do NOT edit by hand!
 */


#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif

#ifdef CATCOMP_ARRAY
#undef CATCOMP_NUMBERS
#undef CATCOMP_STRINGS
#define CATCOMP_NUMBERS
#define CATCOMP_STRINGS
#endif

#ifdef CATCOMP_BLOCK
#undef CATCOMP_STRINGS
#define CATCOMP_STRINGS
#endif


/****************************************************************************/


#ifdef CATCOMP_NUMBERS

#define MSG_STRGAD 0
#define MSG_NEWFONT 1
#define MSG_MENUTITLE 2
#define MSG_FONTTYPE 3
#define MSG_MENUFONTSCREEN 4
#define MSG_MENUTEXTFONT 5
#define MSG_MENUCUSTOMFONT 6
#define MSG_MENUCHARSET 7
#define MSG_MENUASCII8 8
#define MSG_MENUISOLATIN1 9
#define MSG_MENUSTDAMIGA 10
#define MSG_MENUABOUT 11
#define MSG_MENUICONOFY 12
#define MSG_MENUQUIT 13
#define MSG_EDITMENU 14
#define MSG_CUT 15
#define MSG_COPY 16
#define MSG_PASTE 17
#define MSG_MENUCLEARTXT 18
#define MSG_MENUSORT 19
#define MSG_SAVESETTINGS 20
#define MSG_CODE 21
#define MSG_DEC 22
#define MSG_HEX 23
#define MSG_OCT 24
#define MSG_ABOUT 25
#define MSG_ABOUTMSG 26
#define MSG_CONTINUE 27
#define ERR_BADOS 28
#define ERR_NOINTERFACE 29
#define ERR_FONTREALLYBIG 30
#define ERR_NOASL 31
#define ERR_CANTOPENCLIP 32
#define ERR_NOTEXTINCLIP 33
#define ERR_CANTREADCLIP 34
#define ERR_WRITINGTOCLIP 35
#define WARN_KSNOTFOUND 36
#define MSG_ASLTITLE 37
#define MSG_CHOOSEQUIT 38

#endif /* CATCOMP_NUMBERS */


/****************************************************************************/


#ifdef CATCOMP_STRINGS

#define MSG_STRGAD_STR "String:"
#define MSG_NEWFONT_STR "Font..."
#define MSG_MENUTITLE_STR "Project"
#define MSG_FONTTYPE_STR "Font"
#define MSG_MENUFONTSCREEN_STR "Screen font"
#define MSG_MENUTEXTFONT_STR "Text font"
#define MSG_MENUCUSTOMFONT_STR "Choose one..."
#define MSG_MENUCHARSET_STR "Charset"
#define MSG_MENUASCII8_STR "8bits ASCII"
#define MSG_MENUISOLATIN1_STR "ISO Latin1"
#define MSG_MENUSTDAMIGA_STR "Amiga Standard"
#define MSG_MENUABOUT_STR "About..."
#define MSG_MENUICONOFY_STR "Minimize"
#define MSG_MENUQUIT_STR "Quit"
#define MSG_EDITMENU_STR "Edit"
#define MSG_CUT_STR "Cut"
#define MSG_COPY_STR "Copy"
#define MSG_PASTE_STR "Paste"
#define MSG_MENUCLEARTXT_STR "Clear text"
#define MSG_MENUSORT_STR "Vertical sort"
#define MSG_SAVESETTINGS_STR "Save settings"
#define MSG_CODE_STR "Code:"
#define MSG_DEC_STR "Dec:"
#define MSG_HEX_STR "Hex:"
#define MSG_OCT_STR "Oct:"
#define MSG_ABOUT_STR "About"
#define MSG_ABOUTMSG_STR "CharMap v%s\nŠ T.Pierron\nFree software under GNU public license\nProvided with no warranty!"
#define MSG_CONTINUE_STR "Continue"
#define ERR_BADOS_STR "Requires WB v36 or more."
#define ERR_NOINTERFACE_STR "Can't open main interace!"
#define ERR_FONTREALLYBIG_STR "The size of your font is REALLY too big."
#define ERR_NOASL_STR "Unable to open the font requester!"
#define ERR_CANTOPENCLIP_STR "Can't open clipboard!"
#define ERR_NOTEXTINCLIP_STR "No text in clipboard!"
#define ERR_CANTREADCLIP_STR "Error reading from clipboard"
#define ERR_WRITINGTOCLIP_STR "Error writing to clipboard"
#define WARN_KSNOTFOUND_STR "Not found"
#define MSG_ASLTITLE_STR "Choose your font"
#define MSG_CHOOSEQUIT_STR "Choose|Quit"

#endif /* CATCOMP_STRINGS */


/****************************************************************************/


#ifdef CATCOMP_ARRAY

struct CatCompArrayType
{
    LONG   cca_ID;
    STRPTR cca_Str;
};

static const struct CatCompArrayType CatCompArray[] =
{
    {MSG_STRGAD,(STRPTR)MSG_STRGAD_STR},
    {MSG_NEWFONT,(STRPTR)MSG_NEWFONT_STR},
    {MSG_MENUTITLE,(STRPTR)MSG_MENUTITLE_STR},
    {MSG_FONTTYPE,(STRPTR)MSG_FONTTYPE_STR},
    {MSG_MENUFONTSCREEN,(STRPTR)MSG_MENUFONTSCREEN_STR},
    {MSG_MENUTEXTFONT,(STRPTR)MSG_MENUTEXTFONT_STR},
    {MSG_MENUCUSTOMFONT,(STRPTR)MSG_MENUCUSTOMFONT_STR},
    {MSG_MENUCHARSET,(STRPTR)MSG_MENUCHARSET_STR},
    {MSG_MENUASCII8,(STRPTR)MSG_MENUASCII8_STR},
    {MSG_MENUISOLATIN1,(STRPTR)MSG_MENUISOLATIN1_STR},
    {MSG_MENUSTDAMIGA,(STRPTR)MSG_MENUSTDAMIGA_STR},
    {MSG_MENUABOUT,(STRPTR)MSG_MENUABOUT_STR},
    {MSG_MENUICONOFY,(STRPTR)MSG_MENUICONOFY_STR},
    {MSG_MENUQUIT,(STRPTR)MSG_MENUQUIT_STR},
    {MSG_EDITMENU,(STRPTR)MSG_EDITMENU_STR},
    {MSG_CUT,(STRPTR)MSG_CUT_STR},
    {MSG_COPY,(STRPTR)MSG_COPY_STR},
    {MSG_PASTE,(STRPTR)MSG_PASTE_STR},
    {MSG_MENUCLEARTXT,(STRPTR)MSG_MENUCLEARTXT_STR},
    {MSG_MENUSORT,(STRPTR)MSG_MENUSORT_STR},
    {MSG_SAVESETTINGS,(STRPTR)MSG_SAVESETTINGS_STR},
    {MSG_CODE,(STRPTR)MSG_CODE_STR},
    {MSG_DEC,(STRPTR)MSG_DEC_STR},
    {MSG_HEX,(STRPTR)MSG_HEX_STR},
    {MSG_OCT,(STRPTR)MSG_OCT_STR},
    {MSG_ABOUT,(STRPTR)MSG_ABOUT_STR},
    {MSG_ABOUTMSG,(STRPTR)MSG_ABOUTMSG_STR},
    {MSG_CONTINUE,(STRPTR)MSG_CONTINUE_STR},
    {ERR_BADOS,(STRPTR)ERR_BADOS_STR},
    {ERR_NOINTERFACE,(STRPTR)ERR_NOINTERFACE_STR},
    {ERR_FONTREALLYBIG,(STRPTR)ERR_FONTREALLYBIG_STR},
    {ERR_NOASL,(STRPTR)ERR_NOASL_STR},
    {ERR_CANTOPENCLIP,(STRPTR)ERR_CANTOPENCLIP_STR},
    {ERR_NOTEXTINCLIP,(STRPTR)ERR_NOTEXTINCLIP_STR},
    {ERR_CANTREADCLIP,(STRPTR)ERR_CANTREADCLIP_STR},
    {ERR_WRITINGTOCLIP,(STRPTR)ERR_WRITINGTOCLIP_STR},
    {WARN_KSNOTFOUND,(STRPTR)WARN_KSNOTFOUND_STR},
    {MSG_ASLTITLE,(STRPTR)MSG_ASLTITLE_STR},
    {MSG_CHOOSEQUIT,(STRPTR)MSG_CHOOSEQUIT_STR},
};

#endif /* CATCOMP_ARRAY */


/****************************************************************************/


#ifdef CATCOMP_BLOCK

static const char CatCompBlock[] =
{
    "\x00\x00\x00\x00\x00\x08"
    MSG_STRGAD_STR "\x00"
    "\x00\x00\x00\x01\x00\x08"
    MSG_NEWFONT_STR "\x00"
    "\x00\x00\x00\x02\x00\x08"
    MSG_MENUTITLE_STR "\x00"
    "\x00\x00\x00\x03\x00\x06"
    MSG_FONTTYPE_STR "\x00\x00"
    "\x00\x00\x00\x04\x00\x0C"
    MSG_MENUFONTSCREEN_STR "\x00"
    "\x00\x00\x00\x05\x00\x0A"
    MSG_MENUTEXTFONT_STR "\x00"
    "\x00\x00\x00\x06\x00\x0E"
    MSG_MENUCUSTOMFONT_STR "\x00"
    "\x00\x00\x00\x07\x00\x08"
    MSG_MENUCHARSET_STR "\x00"
    "\x00\x00\x00\x08\x00\x0C"
    MSG_MENUASCII8_STR "\x00"
    "\x00\x00\x00\x09\x00\x0C"
    MSG_MENUISOLATIN1_STR "\x00\x00"
    "\x00\x00\x00\x0A\x00\x10"
    MSG_MENUSTDAMIGA_STR "\x00\x00"
    "\x00\x00\x00\x0B\x00\x0A"
    MSG_MENUABOUT_STR "\x00\x00"
    "\x00\x00\x00\x0C\x00\x0A"
    MSG_MENUICONOFY_STR "\x00\x00"
    "\x00\x00\x00\x0D\x00\x06"
    MSG_MENUQUIT_STR "\x00\x00"
    "\x00\x00\x00\x0E\x00\x06"
    MSG_EDITMENU_STR "\x00\x00"
    "\x00\x00\x00\x0F\x00\x04"
    MSG_CUT_STR "\x00"
    "\x00\x00\x00\x10\x00\x06"
    MSG_COPY_STR "\x00\x00"
    "\x00\x00\x00\x11\x00\x06"
    MSG_PASTE_STR "\x00"
    "\x00\x00\x00\x12\x00\x0C"
    MSG_MENUCLEARTXT_STR "\x00\x00"
    "\x00\x00\x00\x13\x00\x0E"
    MSG_MENUSORT_STR "\x00"
    "\x00\x00\x00\x14\x00\x0E"
    MSG_SAVESETTINGS_STR "\x00"
    "\x00\x00\x00\x15\x00\x06"
    MSG_CODE_STR "\x00"
    "\x00\x00\x00\x16\x00\x06"
    MSG_DEC_STR "\x00\x00"
    "\x00\x00\x00\x17\x00\x06"
    MSG_HEX_STR "\x00\x00"
    "\x00\x00\x00\x18\x00\x06"
    MSG_OCT_STR "\x00\x00"
    "\x00\x00\x00\x19\x00\x06"
    MSG_ABOUT_STR "\x00"
    "\x00\x00\x00\x1A\x00\x5A"
    MSG_ABOUTMSG_STR "\x00"
    "\x00\x00\x00\x1B\x00\x0A"
    MSG_CONTINUE_STR "\x00\x00"
    "\x00\x00\x00\x1C\x00\x1A"
    ERR_BADOS_STR "\x00\x00"
    "\x00\x00\x00\x1D\x00\x1A"
    ERR_NOINTERFACE_STR "\x00"
    "\x00\x00\x00\x1E\x00\x2A"
    ERR_FONTREALLYBIG_STR "\x00\x00"
    "\x00\x00\x00\x1F\x00\x24"
    ERR_NOASL_STR "\x00\x00"
    "\x00\x00\x00\x20\x00\x16"
    ERR_CANTOPENCLIP_STR "\x00"
    "\x00\x00\x00\x21\x00\x16"
    ERR_NOTEXTINCLIP_STR "\x00"
    "\x00\x00\x00\x22\x00\x1E"
    ERR_CANTREADCLIP_STR "\x00\x00"
    "\x00\x00\x00\x23\x00\x1C"
    ERR_WRITINGTOCLIP_STR "\x00\x00"
    "\x00\x00\x00\x24\x00\x0A"
    WARN_KSNOTFOUND_STR "\x00"
    "\x00\x00\x00\x25\x00\x12"
    MSG_ASLTITLE_STR "\x00\x00"
    "\x00\x00\x00\x26\x00\x0C"
    MSG_CHOOSEQUIT_STR "\x00"
};

#endif /* CATCOMP_BLOCK */


/****************************************************************************/


struct LocaleInfo
{
    APTR li_LocaleBase;
    APTR li_Catalog;
};


#ifdef CATCOMP_CODE

STRPTR GetString(struct LocaleInfo *li, LONG stringNum)
{
LONG   *l;
UWORD  *w;
STRPTR  builtIn;

    l = (LONG *)CatCompBlock;

    while (*l != stringNum)
    {
        w = (UWORD *)((ULONG)l + 4);
        l = (LONG *)((ULONG)l + (ULONG)*w + 6);
    }
    builtIn = (STRPTR)((ULONG)l + 6);

#define XLocaleBase LocaleBase
#define LocaleBase li->li_LocaleBase
    
    if (LocaleBase)
        return(GetCatalogStr(li->li_Catalog,stringNum,builtIn));
#define LocaleBase XLocaleBase
#undef XLocaleBase

    return(builtIn);
}


#endif /* CATCOMP_CODE */


/****************************************************************************/


#endif /* CHARMAPSTRS_H */
