diff --git a/NTMakefile b/NTMakefile index 63a4a2c..2d41468 100644 --- a/NTMakefile +++ b/NTMakefile @@ -79,7 +79,9 @@ clean: del /f /q src\widget\box.obj del /f /q src\widget\button.obj del /f /q src\widget\calendar.obj + del /f /q src\widget\chart.obj del /f /q src\widget\checkbox.obj + del /f /q src\widget\clock.obj del /f /q src\widget\combobox.obj del /f /q src\widget\entry.obj del /f /q src\widget\frame.obj @@ -320,8 +322,8 @@ examples\gldemos\tripaint.obj: examples/gldemos/tripaint.c $(CC) $(EXE_CFLAGS) /Fo$@ examples/gldemos/tripaint.c -src\Mw.dll: external\libz\src\adler32.obj external\libz\src\compress.obj external\libz\src\crc32.obj external\libz\src\deflate.obj external\libz\src\gzclose.obj external\libz\src\gzlib.obj external\libz\src\gzread.obj external\libz\src\gzwrite.obj external\libz\src\infback.obj external\libz\src\inffast.obj external\libz\src\inflate.obj external\libz\src\inftrees.obj external\libz\src\trees.obj external\libz\src\uncompr.obj external\libz\src\zutil.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\abstract\charset.obj src\abstract\directory.obj src\abstract\dynamic.obj src\abstract\time.obj src\backend\gdi.obj src\color.obj src\core.obj src\cursor\arrow.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\hidden.obj src\cursor\text.obj src\default.obj src\dialog\colorpicker.obj src\dialog\directorychooser.obj src\dialog\filechooser.obj src\dialog\messagebox.obj src\draw.obj src\icon\back.obj src\icon\clock.obj src\icon\computer.obj src\icon\directory.obj src\icon\down.obj src\icon\error.obj src\icon\file.obj src\icon\forward.obj src\icon\info.obj src\icon\left.obj src\icon\news.obj src\icon\note.obj src\icon\right.obj src\icon\search.obj src\icon\up.obj src\icon\warning.obj src\lowlevel.obj src\string.obj src\text\font\boldfont.obj src\text\font\boldmonottf.obj src\text\font\boldttf.obj src\text\font\font.obj src\text\font\monottf.obj src\text\font\ttf.obj src\text\ft2.obj src\text\gdi.obj src\text\stbtt.obj src\text\text.obj src\truetype.obj src\unicode.obj src\widget\box.obj src\widget\button.obj src\widget\calendar.obj src\widget\checkbox.obj src\widget\combobox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\listbox.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\progressbar.obj src\widget\radiobox.obj src\widget\scrollbar.obj src\widget\separator.obj src\widget\submenu.obj src\widget\subwindow.obj src\widget\tab.obj src\widget\table.obj src\widget\treeview.obj src\widget\viewport.obj src\widget\window.obj - $(LD) $(MW_LDFLAGS) /OUT:$@ external\libz\src\adler32.obj external\libz\src\compress.obj external\libz\src\crc32.obj external\libz\src\deflate.obj external\libz\src\gzclose.obj external\libz\src\gzlib.obj external\libz\src\gzread.obj external\libz\src\gzwrite.obj external\libz\src\infback.obj external\libz\src\inffast.obj external\libz\src\inflate.obj external\libz\src\inftrees.obj external\libz\src\trees.obj external\libz\src\uncompr.obj external\libz\src\zutil.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\abstract\charset.obj src\abstract\directory.obj src\abstract\dynamic.obj src\abstract\time.obj src\backend\gdi.obj src\color.obj src\core.obj src\cursor\arrow.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\hidden.obj src\cursor\text.obj src\default.obj src\dialog\colorpicker.obj src\dialog\directorychooser.obj src\dialog\filechooser.obj src\dialog\messagebox.obj src\draw.obj src\icon\back.obj src\icon\clock.obj src\icon\computer.obj src\icon\directory.obj src\icon\down.obj src\icon\error.obj src\icon\file.obj src\icon\forward.obj src\icon\info.obj src\icon\left.obj src\icon\news.obj src\icon\note.obj src\icon\right.obj src\icon\search.obj src\icon\up.obj src\icon\warning.obj src\lowlevel.obj src\string.obj src\text\font\boldfont.obj src\text\font\boldmonottf.obj src\text\font\boldttf.obj src\text\font\font.obj src\text\font\monottf.obj src\text\font\ttf.obj src\text\ft2.obj src\text\gdi.obj src\text\stbtt.obj src\text\text.obj src\truetype.obj src\unicode.obj src\widget\box.obj src\widget\button.obj src\widget\calendar.obj src\widget\checkbox.obj src\widget\combobox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\listbox.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\progressbar.obj src\widget\radiobox.obj src\widget\scrollbar.obj src\widget\separator.obj src\widget\submenu.obj src\widget\subwindow.obj src\widget\tab.obj src\widget\table.obj src\widget\treeview.obj src\widget\viewport.obj src\widget\window.obj opengl32.lib gdi32.lib ole32.lib uuid.lib user32.lib advapi32.lib +src\Mw.dll: external\libz\src\adler32.obj external\libz\src\compress.obj external\libz\src\crc32.obj external\libz\src\deflate.obj external\libz\src\gzclose.obj external\libz\src\gzlib.obj external\libz\src\gzread.obj external\libz\src\gzwrite.obj external\libz\src\infback.obj external\libz\src\inffast.obj external\libz\src\inflate.obj external\libz\src\inftrees.obj external\libz\src\trees.obj external\libz\src\uncompr.obj external\libz\src\zutil.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\abstract\charset.obj src\abstract\directory.obj src\abstract\dynamic.obj src\abstract\time.obj src\backend\gdi.obj src\color.obj src\core.obj src\cursor\arrow.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\hidden.obj src\cursor\text.obj src\default.obj src\dialog\colorpicker.obj src\dialog\directorychooser.obj src\dialog\filechooser.obj src\dialog\messagebox.obj src\draw.obj src\icon\back.obj src\icon\clock.obj src\icon\computer.obj src\icon\directory.obj src\icon\down.obj src\icon\error.obj src\icon\file.obj src\icon\forward.obj src\icon\info.obj src\icon\left.obj src\icon\news.obj src\icon\note.obj src\icon\right.obj src\icon\search.obj src\icon\up.obj src\icon\warning.obj src\lowlevel.obj src\string.obj src\text\font\boldfont.obj src\text\font\boldmonottf.obj src\text\font\boldttf.obj src\text\font\font.obj src\text\font\monottf.obj src\text\font\ttf.obj src\text\ft2.obj src\text\gdi.obj src\text\stbtt.obj src\text\text.obj src\truetype.obj src\unicode.obj src\widget\box.obj src\widget\button.obj src\widget\calendar.obj src\widget\chart.obj src\widget\checkbox.obj src\widget\clock.obj src\widget\combobox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\listbox.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\progressbar.obj src\widget\radiobox.obj src\widget\scrollbar.obj src\widget\separator.obj src\widget\submenu.obj src\widget\subwindow.obj src\widget\tab.obj src\widget\table.obj src\widget\treeview.obj src\widget\viewport.obj src\widget\window.obj + $(LD) $(MW_LDFLAGS) /OUT:$@ external\libz\src\adler32.obj external\libz\src\compress.obj external\libz\src\crc32.obj external\libz\src\deflate.obj external\libz\src\gzclose.obj external\libz\src\gzlib.obj external\libz\src\gzread.obj external\libz\src\gzwrite.obj external\libz\src\infback.obj external\libz\src\inffast.obj external\libz\src\inflate.obj external\libz\src\inftrees.obj external\libz\src\trees.obj external\libz\src\uncompr.obj external\libz\src\zutil.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\abstract\charset.obj src\abstract\directory.obj src\abstract\dynamic.obj src\abstract\time.obj src\backend\gdi.obj src\color.obj src\core.obj src\cursor\arrow.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\hidden.obj src\cursor\text.obj src\default.obj src\dialog\colorpicker.obj src\dialog\directorychooser.obj src\dialog\filechooser.obj src\dialog\messagebox.obj src\draw.obj src\icon\back.obj src\icon\clock.obj src\icon\computer.obj src\icon\directory.obj src\icon\down.obj src\icon\error.obj src\icon\file.obj src\icon\forward.obj src\icon\info.obj src\icon\left.obj src\icon\news.obj src\icon\note.obj src\icon\right.obj src\icon\search.obj src\icon\up.obj src\icon\warning.obj src\lowlevel.obj src\string.obj src\text\font\boldfont.obj src\text\font\boldmonottf.obj src\text\font\boldttf.obj src\text\font\font.obj src\text\font\monottf.obj src\text\font\ttf.obj src\text\ft2.obj src\text\gdi.obj src\text\stbtt.obj src\text\text.obj src\truetype.obj src\unicode.obj src\widget\box.obj src\widget\button.obj src\widget\calendar.obj src\widget\chart.obj src\widget\checkbox.obj src\widget\clock.obj src\widget\combobox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\listbox.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\progressbar.obj src\widget\radiobox.obj src\widget\scrollbar.obj src\widget\separator.obj src\widget\submenu.obj src\widget\subwindow.obj src\widget\tab.obj src\widget\table.obj src\widget\treeview.obj src\widget\viewport.obj src\widget\window.obj opengl32.lib gdi32.lib ole32.lib uuid.lib user32.lib advapi32.lib .c.obj: diff --git a/WatMakefile b/WatMakefile index 4533f3c..0b4f73a 100644 --- a/WatMakefile +++ b/WatMakefile @@ -78,7 +78,9 @@ clean: .SYMBOLIC %erase src/widget/box.obj %erase src/widget/button.obj %erase src/widget/calendar.obj + %erase src/widget/chart.obj %erase src/widget/checkbox.obj + %erase src/widget/clock.obj %erase src/widget/combobox.obj %erase src/widget/entry.obj %erase src/widget/frame.obj @@ -319,8 +321,8 @@ examples/gldemos/tripaint.obj: examples/gldemos/tripaint.c $(CC) $(EXE_CFLAGS) -fo=$@ examples/gldemos/tripaint.c -src/Mw.dll: external/libz/src/adler32.obj external/libz/src/compress.obj external/libz/src/crc32.obj external/libz/src/deflate.obj external/libz/src/gzclose.obj external/libz/src/gzlib.obj external/libz/src/gzread.obj external/libz/src/gzwrite.obj external/libz/src/infback.obj external/libz/src/inffast.obj external/libz/src/inflate.obj external/libz/src/inftrees.obj external/libz/src/trees.obj external/libz/src/uncompr.obj external/libz/src/zutil.obj external/stb_ds.obj external/stb_image.obj external/stb_truetype.obj src/abstract/charset.obj src/abstract/directory.obj src/abstract/dynamic.obj src/abstract/time.obj src/backend/gdi.obj src/color.obj src/core.obj src/cursor/arrow.obj src/cursor/cross.obj src/cursor/default.obj src/cursor/hidden.obj src/cursor/text.obj src/default.obj src/dialog/colorpicker.obj src/dialog/directorychooser.obj src/dialog/filechooser.obj src/dialog/messagebox.obj src/draw.obj src/icon/back.obj src/icon/clock.obj src/icon/computer.obj src/icon/directory.obj src/icon/down.obj src/icon/error.obj src/icon/file.obj src/icon/forward.obj src/icon/info.obj src/icon/left.obj src/icon/news.obj src/icon/note.obj src/icon/right.obj src/icon/search.obj src/icon/up.obj src/icon/warning.obj src/lowlevel.obj src/string.obj src/text/font/boldfont.obj src/text/font/boldmonottf.obj src/text/font/boldttf.obj src/text/font/font.obj src/text/font/monottf.obj src/text/font/ttf.obj src/text/ft2.obj src/text/gdi.obj src/text/stbtt.obj src/text/text.obj src/truetype.obj src/unicode.obj src/widget/box.obj src/widget/button.obj src/widget/calendar.obj src/widget/checkbox.obj src/widget/combobox.obj src/widget/entry.obj src/widget/frame.obj src/widget/image.obj src/widget/label.obj src/widget/listbox.obj src/widget/menu.obj src/widget/numberentry.obj src/widget/opengl.obj src/widget/progressbar.obj src/widget/radiobox.obj src/widget/scrollbar.obj src/widget/separator.obj src/widget/submenu.obj src/widget/subwindow.obj src/widget/tab.obj src/widget/table.obj src/widget/treeview.obj src/widget/viewport.obj src/widget/window.obj - $(LD) $(MW_LDFLAGS) option implib=src/Mw.lib name $@ file external/libz/src/adler32.obj file external/libz/src/compress.obj file external/libz/src/crc32.obj file external/libz/src/deflate.obj file external/libz/src/gzclose.obj file external/libz/src/gzlib.obj file external/libz/src/gzread.obj file external/libz/src/gzwrite.obj file external/libz/src/infback.obj file external/libz/src/inffast.obj file external/libz/src/inflate.obj file external/libz/src/inftrees.obj file external/libz/src/trees.obj file external/libz/src/uncompr.obj file external/libz/src/zutil.obj file external/stb_ds.obj file external/stb_image.obj file external/stb_truetype.obj file src/abstract/charset.obj file src/abstract/directory.obj file src/abstract/dynamic.obj file src/abstract/time.obj file src/backend/gdi.obj file src/color.obj file src/core.obj file src/cursor/arrow.obj file src/cursor/cross.obj file src/cursor/default.obj file src/cursor/hidden.obj file src/cursor/text.obj file src/default.obj file src/dialog/colorpicker.obj file src/dialog/directorychooser.obj file src/dialog/filechooser.obj file src/dialog/messagebox.obj file src/draw.obj file src/icon/back.obj file src/icon/clock.obj file src/icon/computer.obj file src/icon/directory.obj file src/icon/down.obj file src/icon/error.obj file src/icon/file.obj file src/icon/forward.obj file src/icon/info.obj file src/icon/left.obj file src/icon/news.obj file src/icon/note.obj file src/icon/right.obj file src/icon/search.obj file src/icon/up.obj file src/icon/warning.obj file src/lowlevel.obj file src/string.obj file src/text/font/boldfont.obj file src/text/font/boldmonottf.obj file src/text/font/boldttf.obj file src/text/font/font.obj file src/text/font/monottf.obj file src/text/font/ttf.obj file src/text/ft2.obj file src/text/gdi.obj file src/text/stbtt.obj file src/text/text.obj file src/truetype.obj file src/unicode.obj file src/widget/box.obj file src/widget/button.obj file src/widget/calendar.obj file src/widget/checkbox.obj file src/widget/combobox.obj file src/widget/entry.obj file src/widget/frame.obj file src/widget/image.obj file src/widget/label.obj file src/widget/listbox.obj file src/widget/menu.obj file src/widget/numberentry.obj file src/widget/opengl.obj file src/widget/progressbar.obj file src/widget/radiobox.obj file src/widget/scrollbar.obj file src/widget/separator.obj file src/widget/submenu.obj file src/widget/subwindow.obj file src/widget/tab.obj file src/widget/table.obj file src/widget/treeview.obj file src/widget/viewport.obj file src/widget/window.obj library clib3r.lib library opengl32.lib library gdi32.lib library ole32.lib library uuid.lib library user32.lib library advapi32.lib +src/Mw.dll: external/libz/src/adler32.obj external/libz/src/compress.obj external/libz/src/crc32.obj external/libz/src/deflate.obj external/libz/src/gzclose.obj external/libz/src/gzlib.obj external/libz/src/gzread.obj external/libz/src/gzwrite.obj external/libz/src/infback.obj external/libz/src/inffast.obj external/libz/src/inflate.obj external/libz/src/inftrees.obj external/libz/src/trees.obj external/libz/src/uncompr.obj external/libz/src/zutil.obj external/stb_ds.obj external/stb_image.obj external/stb_truetype.obj src/abstract/charset.obj src/abstract/directory.obj src/abstract/dynamic.obj src/abstract/time.obj src/backend/gdi.obj src/color.obj src/core.obj src/cursor/arrow.obj src/cursor/cross.obj src/cursor/default.obj src/cursor/hidden.obj src/cursor/text.obj src/default.obj src/dialog/colorpicker.obj src/dialog/directorychooser.obj src/dialog/filechooser.obj src/dialog/messagebox.obj src/draw.obj src/icon/back.obj src/icon/clock.obj src/icon/computer.obj src/icon/directory.obj src/icon/down.obj src/icon/error.obj src/icon/file.obj src/icon/forward.obj src/icon/info.obj src/icon/left.obj src/icon/news.obj src/icon/note.obj src/icon/right.obj src/icon/search.obj src/icon/up.obj src/icon/warning.obj src/lowlevel.obj src/string.obj src/text/font/boldfont.obj src/text/font/boldmonottf.obj src/text/font/boldttf.obj src/text/font/font.obj src/text/font/monottf.obj src/text/font/ttf.obj src/text/ft2.obj src/text/gdi.obj src/text/stbtt.obj src/text/text.obj src/truetype.obj src/unicode.obj src/widget/box.obj src/widget/button.obj src/widget/calendar.obj src/widget/chart.obj src/widget/checkbox.obj src/widget/clock.obj src/widget/combobox.obj src/widget/entry.obj src/widget/frame.obj src/widget/image.obj src/widget/label.obj src/widget/listbox.obj src/widget/menu.obj src/widget/numberentry.obj src/widget/opengl.obj src/widget/progressbar.obj src/widget/radiobox.obj src/widget/scrollbar.obj src/widget/separator.obj src/widget/submenu.obj src/widget/subwindow.obj src/widget/tab.obj src/widget/table.obj src/widget/treeview.obj src/widget/viewport.obj src/widget/window.obj + $(LD) $(MW_LDFLAGS) option implib=src/Mw.lib name $@ file external/libz/src/adler32.obj file external/libz/src/compress.obj file external/libz/src/crc32.obj file external/libz/src/deflate.obj file external/libz/src/gzclose.obj file external/libz/src/gzlib.obj file external/libz/src/gzread.obj file external/libz/src/gzwrite.obj file external/libz/src/infback.obj file external/libz/src/inffast.obj file external/libz/src/inflate.obj file external/libz/src/inftrees.obj file external/libz/src/trees.obj file external/libz/src/uncompr.obj file external/libz/src/zutil.obj file external/stb_ds.obj file external/stb_image.obj file external/stb_truetype.obj file src/abstract/charset.obj file src/abstract/directory.obj file src/abstract/dynamic.obj file src/abstract/time.obj file src/backend/gdi.obj file src/color.obj file src/core.obj file src/cursor/arrow.obj file src/cursor/cross.obj file src/cursor/default.obj file src/cursor/hidden.obj file src/cursor/text.obj file src/default.obj file src/dialog/colorpicker.obj file src/dialog/directorychooser.obj file src/dialog/filechooser.obj file src/dialog/messagebox.obj file src/draw.obj file src/icon/back.obj file src/icon/clock.obj file src/icon/computer.obj file src/icon/directory.obj file src/icon/down.obj file src/icon/error.obj file src/icon/file.obj file src/icon/forward.obj file src/icon/info.obj file src/icon/left.obj file src/icon/news.obj file src/icon/note.obj file src/icon/right.obj file src/icon/search.obj file src/icon/up.obj file src/icon/warning.obj file src/lowlevel.obj file src/string.obj file src/text/font/boldfont.obj file src/text/font/boldmonottf.obj file src/text/font/boldttf.obj file src/text/font/font.obj file src/text/font/monottf.obj file src/text/font/ttf.obj file src/text/ft2.obj file src/text/gdi.obj file src/text/stbtt.obj file src/text/text.obj file src/truetype.obj file src/unicode.obj file src/widget/box.obj file src/widget/button.obj file src/widget/calendar.obj file src/widget/chart.obj file src/widget/checkbox.obj file src/widget/clock.obj file src/widget/combobox.obj file src/widget/entry.obj file src/widget/frame.obj file src/widget/image.obj file src/widget/label.obj file src/widget/listbox.obj file src/widget/menu.obj file src/widget/numberentry.obj file src/widget/opengl.obj file src/widget/progressbar.obj file src/widget/radiobox.obj file src/widget/scrollbar.obj file src/widget/separator.obj file src/widget/submenu.obj file src/widget/subwindow.obj file src/widget/tab.obj file src/widget/table.obj file src/widget/treeview.obj file src/widget/viewport.obj file src/widget/window.obj library clib3r.lib library opengl32.lib library gdi32.lib library ole32.lib library uuid.lib library user32.lib library advapi32.lib @@ -462,8 +464,12 @@ src/widget/button.obj: src/widget/button.c $(CC) $(MW_CFLAGS) -fo=$@ src/widget/button.c src/widget/calendar.obj: src/widget/calendar.c $(CC) $(MW_CFLAGS) -fo=$@ src/widget/calendar.c +src/widget/chart.obj: src/widget/chart.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/chart.c src/widget/checkbox.obj: src/widget/checkbox.c $(CC) $(MW_CFLAGS) -fo=$@ src/widget/checkbox.c +src/widget/clock.obj: src/widget/clock.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/clock.c src/widget/combobox.obj: src/widget/combobox.c $(CC) $(MW_CFLAGS) -fo=$@ src/widget/combobox.c src/widget/entry.obj: src/widget/entry.c diff --git a/examples/basic/periodic.c b/examples/basic/periodic.c index b449f09..e53d66b 100644 --- a/examples/basic/periodic.c +++ b/examples/basic/periodic.c @@ -7,6 +7,7 @@ #define PaddingContent 2 MwWidget window, menu, table; +MwWidget wcal, wclock; MwMenu e; static void MWAPI resize(MwWidget handle, void* user, void* call) { @@ -21,6 +22,24 @@ static void MWAPI resize(MwWidget handle, void* user, void* call) { NULL); } +static void MWAPI tick(MwWidget handle, void* user, void* call) { + time_t t = time(NULL); + struct tm tm = *localtime(&t); + + MwVaApply(wcal, + MwNyear, (int)tm.tm_year + 1900, + MwNmonth, (int)tm.tm_mon, + MwNdate, (int)tm.tm_mday, + MwNday, (int)tm.tm_wday, + NULL); + + MwVaApply(wclock, + MwNhour, (int)tm.tm_hour, + MwNminute, (int)tm.tm_min, + MwNsecond, (int)tm.tm_sec, + NULL); +} + static void MWAPI resize_content(MwWidget handle, void* user, void* call) { MwWidget* ws = MwGetChildren(handle); if(ws != NULL) { @@ -241,9 +260,27 @@ int main() { } } - f = frame("Calendar", -PaddingContent, -PaddingContent, MwCalendarClass, - MwNscale, 1, + f = frame("Calendar", -PaddingContent, -PaddingContent, MwCalendarClass, + MwNscale, 1, + NULL); + wcal = child(f); + + f = frame("Clock", -PaddingContent, -PaddingContent, MwClockClass, NULL); + wclock = child(f); + + f = frame("Chart", -PaddingContent, -PaddingContent, MwChartClass, + MwNtype, MwCHART_PIE, + MwNcolumnSpan, 2, NULL); + w = child(f); + MwChartAdd(w, -1, "A", -800, NULL); + MwChartAdd(w, -1, "B", -400, NULL); + MwChartAdd(w, -1, "C", -200, NULL); + MwChartAdd(w, -1, "D", -100, NULL); + MwChartAdd(w, -1, "E", 100, NULL); + MwChartAdd(w, -1, "F", 200, NULL); + MwChartAdd(w, -1, "G", 400, NULL); + MwChartAdd(w, -1, "H", 800, NULL); f = frame("ComboBox", -PaddingContent, 24, MwComboBoxClass, NULL); w = child(f); @@ -257,6 +294,7 @@ int main() { f = frame("Label", -PaddingContent, -PaddingContent, MwLabelClass, MwNtext, "Epic text\nNewline can be used too!", + MwNcolumnSpan, 2, NULL); f = frame("ListBox", -PaddingContent, -PaddingContent, MwListBoxClass, @@ -290,9 +328,7 @@ int main() { MwNtitle, "Sub window 2", NULL); - f = frame("Tab", -PaddingContent, -PaddingContent, MwTabClass, - MwNcolumnSpan, 2, - NULL); + f = frame("Tab", -PaddingContent, -PaddingContent, MwTabClass, NULL); w = child(f); MwSetText(MwTabAdd(w, "ABC"), MwNbackground, "#f00"); MwSetText(MwTabAdd(w, "DEF"), MwNbackground, "#0f0"); @@ -312,7 +348,9 @@ int main() { NULL); MwAddUserHandler(window, MwNresizeHandler, resize, NULL); + MwAddUserHandler(window, MwNtickHandler, tick, NULL); + tick(window, NULL, NULL); resize(window, NULL, NULL); MwVaApply(table, diff --git a/examples/basic/rotate.c b/examples/basic/rotate.c index dbf9c5e..112d5fc 100644 --- a/examples/basic/rotate.c +++ b/examples/basic/rotate.c @@ -4,7 +4,7 @@ #include #ifndef M_PI -#define M_PI 3.14159265 +#define M_PI 3.14159265359 #endif #define SIZE 100 diff --git a/examples/gldemos/gears.c b/examples/gldemos/gears.c index 5d06b06..a1aad90 100644 --- a/examples/gldemos/gears.c +++ b/examples/gldemos/gears.c @@ -13,7 +13,7 @@ #include #ifndef M_PI -#define M_PI 3.14159265 +#define M_PI 3.14159265359 #endif /** diff --git a/include/Mw/Constants.h b/include/Mw/Constants.h index 15853ff..42f1471 100644 --- a/include/Mw/Constants.h +++ b/include/Mw/Constants.h @@ -113,6 +113,12 @@ enum MwCLIPBOARD { MwCLIPBOARD_PRIMARY, }; +enum MwCHART { + MwCHART_BAR = 0, + MwCHART_3D_BAR, + MwCHART_PIE +}; + enum MwMOUSE { MwMOUSE_LEFT = 1, MwMOUSE_MIDDLE, diff --git a/include/Mw/Draw.h b/include/Mw/Draw.h index 443835c..ad13c60 100644 --- a/include/Mw/Draw.h +++ b/include/Mw/Draw.h @@ -13,6 +13,13 @@ extern "C" { #endif +/*! + * @brief Get a color difference for shadow + * @param handle Widget + * @return Color difference + */ +MWDECL int MWAPI MwGetColorDifference(MwWidget handle); + /*! * @brief Parses a color text * @param handle Widget @@ -45,6 +52,13 @@ MWDECL void MWAPI MwColorTableInit(void); */ MWDECL MwLLColor MWAPI MwLightenColor(MwWidget handle, MwLLColor color, int r, int g, int b); +/*! + * @brief Fix a rectangle + * @param handle Widget + * @param rect Rectangle area + */ +MWDECL void MWAPI MwFixRect(MwRect* rect); + /*! * @brief Draws a filled rectangle * @param handle Widget @@ -53,6 +67,14 @@ MWDECL MwLLColor MWAPI MwLightenColor(MwWidget handle, MwLLColor color, int r, i */ MWDECL void MWAPI MwDrawRect(MwWidget handle, MwRect* rect, MwLLColor color); +/*! + * @brief Draws a rectangle + * @param handle Widget + * @param rect Rectangle area + * @param color Color + */ +MWDECL void MWAPI MwDrawRectLine(MwWidget handle, MwRect* rect, MwLLColor color); + /*! * @brief Draws a filled rectangle that fades to a darker color * @param handle Widget diff --git a/include/Mw/LowLevel/Wayland.h b/include/Mw/LowLevel/Wayland.h index e2970c8..25217fc 100644 --- a/include/Mw/LowLevel/Wayland.h +++ b/include/Mw/LowLevel/Wayland.h @@ -485,10 +485,6 @@ int MwLLWaylandHyprlandGetRoundness(void); void MwLLWaylandHangUntilConfigured(MwLL handle); -MwBool MwLLWaylandWidgetIsDestroyed(MwLL self); -void MwLLWaylandWidgetUndestroy(MwLL self); -void MwLLWaylandChildrenIterate(MwLL handle, void (*func)(MwLL handle, MwLL child)); - /* Function for setting up the callbacks/structs that will be registered upon the relevant interfaces being found. */ void MwLLWaylandSetupCallbacks(struct _MwLLWayland* wayland); @@ -500,19 +496,11 @@ void MwLLWaylandFlush(MwLL handle); void MwLLWaylandCascadeChildren(MwLL handle); /* Standard procedure before event callbacks in Wayland */ -#define WAYLAND_EVENT_OP_START(self) \ - if(MwLLWaylandWidgetIsDestroyed(self)) { \ - return; \ - } +#define WAYLAND_EVENT_OP_START(self) /* Footer for WAYLAND_EVENT_OP_START */ #define WAYLAND_EVENT_OP_END(self) -#define WIDGET_CHECK(handle) \ - if(!handle->wayland.valid) { \ - return; \ - } - /* the two decoration manager constructs */ typedef struct zxdg_decoration_manager_v1_context { struct zxdg_decoration_manager_v1* manager; diff --git a/include/Mw/MachDep.h b/include/Mw/MachDep.h index 4c98b24..7313ce2 100644 --- a/include/Mw/MachDep.h +++ b/include/Mw/MachDep.h @@ -86,7 +86,7 @@ #endif #ifndef M_PI -#define M_PI 3.14159265 +#define M_PI 3.14159265359 #endif /* Windows */ diff --git a/include/Mw/Milsko.h b/include/Mw/Milsko.h index 9860990..abdc073 100644 --- a/include/Mw/Milsko.h +++ b/include/Mw/Milsko.h @@ -36,7 +36,9 @@ #include #include #include +#include #include +#include #include #include #include diff --git a/include/Mw/StringDefs.h b/include/Mw/StringDefs.h index 6ad4e46..d820ea4 100644 --- a/include/Mw/StringDefs.h +++ b/include/Mw/StringDefs.h @@ -54,6 +54,10 @@ #define MwNrowSpan "IrowSpan" #define MwNdisabled "Idisabled" #define MwNacceptsDnD "IacceptsDnD" +#define MwNhour "Ihour" +#define MwNminute "Iminute" +#define MwNsecond "Isecond" +#define MwNtype "Itype" #define MwNtitle "Stitle" #define MwNtext "Stext" diff --git a/include/Mw/TypeDefs.h b/include/Mw/TypeDefs.h index a9bc3cf..0be60e8 100644 --- a/include/Mw/TypeDefs.h +++ b/include/Mw/TypeDefs.h @@ -30,6 +30,8 @@ typedef struct _MwBox* MwBox; typedef struct _MwSubWindow* MwSubWindow; typedef struct _MwTab* MwTab; typedef struct _MwTable* MwTable; +typedef struct _MwChartEntry MwChartEntry; +typedef struct _MwChart* MwChart; typedef struct _MwMouse MwMouse; typedef struct _MwTTFInfo* MwTTFInfo; #ifdef _MILSKO @@ -247,6 +249,16 @@ struct _MwTab { char** names; }; +struct _MwChartEntry { + char* name; + char* color; + double value; +}; + +struct _MwChart { + MwChartEntry* entries; +}; + struct _MwMouse { MwPoint point; int button; diff --git a/include/Mw/Widget/Chart.h b/include/Mw/Widget/Chart.h new file mode 100644 index 0000000..d0957a2 --- /dev/null +++ b/include/Mw/Widget/Chart.h @@ -0,0 +1,57 @@ +/*! + * @file Mw/Widget/Chart.h + * @brief Chart widget + */ +#ifndef __MW_WIDGET_CHART_H__ +#define __MW_WIDGET_CHART_H__ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/*! + * @brief Chart widget class + */ +MWDECL MwClass MwChartClass; + +/*! + * @brief Adds the entry to the chart + * @param handle Widget + * @param index Index + * @param text Text + * @param value Value + * @return Index + */ +MwInline int MwChartAdd(MwWidget handle, int index, const char* text, double value, const char* color) { + int out; + + MwVaWidgetExecute(handle, "mwChartAdd", (void*)&out, index, text, value, color); + + return out; +} + +/*! + * @brief Deletes item from the chart + * @param handle Widget + * @param index Index + */ +MwInline void MwChartDelete(MwWidget handle, int index) { + MwVaWidgetExecute(handle, "mwChartDelete", NULL, index); +} + +/*! + * @brief Resets the chart + * @param handle Widget + */ +MwInline void MwChartReset(MwWidget handle) { + MwVaWidgetExecute(handle, "mwChartReset", NULL); +} + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/include/Mw/Widget/Clock.h b/include/Mw/Widget/Clock.h new file mode 100644 index 0000000..a8057fe --- /dev/null +++ b/include/Mw/Widget/Clock.h @@ -0,0 +1,24 @@ +/*! + * @file Mw/Widget/Clock.h + * @brief Clock widget + */ +#ifndef __MW_WIDGET_CLOCK_H__ +#define __MW_WIDGET_CLOCK_H__ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/*! + * @brief Clock widget class + */ +MWDECL MwClass MwClockClass; + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/include/Mw/Widget/ComboBox.h b/include/Mw/Widget/ComboBox.h index 7b2dc2f..fd5c343 100644 --- a/include/Mw/Widget/ComboBox.h +++ b/include/Mw/Widget/ComboBox.h @@ -41,6 +41,23 @@ MwInline const char* MwComboBoxGet(MwWidget handle, int index) { return text; } +/*! + * @brief Deletes the entry from combobox + * @param handle Widget + * @param index Index + */ +MwInline void MwComboBoxDelete(MwWidget handle, int index) { + MwVaWidgetExecute(handle, "mwComboBoxDelete", NULL, index); +} + +/*! + * @brief Resets the combobox + * @param handle Widget + */ +MwInline void MwComboBoxReset(MwWidget handle) { + MwVaWidgetExecute(handle, "mwComboBoxReset", NULL); +} + #ifdef __cplusplus } #endif diff --git a/milsko.xml b/milsko.xml index a94c847..0652a55 100644 --- a/milsko.xml +++ b/milsko.xml @@ -1,10 +1,11 @@ @@ -225,6 +230,11 @@ 0 + + 0 + + + 1 @@ -646,6 +656,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + @@ -654,6 +689,13 @@ + + + + + + + @@ -869,9 +911,26 @@ - - + + + + + + + + + + + + + + + + + + + diff --git a/pl/rules.pl b/pl/rules.pl index 89f13e9..9d2081c 100644 --- a/pl/rules.pl +++ b/pl/rules.pl @@ -152,6 +152,8 @@ new_object("src/widget/box.c"); new_object("src/widget/button.c"); new_object("src/widget/calendar.c"); new_object("src/widget/checkbox.c"); +new_object("src/widget/chart.c"); +new_object("src/widget/clock.c"); new_object("src/widget/combobox.c"); new_object("src/widget/entry.c"); new_object("src/widget/frame.c"); diff --git a/resource/font/7x14.bdf b/resource/font/7x13.bdf similarity index 54% rename from resource/font/7x14.bdf rename to resource/font/7x13.bdf index 6e6c13e..c701341 100644 --- a/resource/font/7x14.bdf +++ b/resource/font/7x13.bdf @@ -1,12 +1,27 @@ STARTFONT 2.1 -COMMENT -COMMENT Donated by H. Kagotani ; public domain -COMMENT font from Japan -COMMENT -FONT -Misc-Fixed-Medium-R-Normal--14-130-75-75-C-70-ISO8859-1 -SIZE 7 75 75 -FONTBOUNDINGBOX 7 14 0 -2 -STARTPROPERTIES 19 +COMMENT $XConsortium: 7x13.bdf,v 1.11 92/04/02 14:25:38 gildea Exp $ +COMMENT +COMMENT Copyright (c) 1990 Stephen Gildea +COMMENT +COMMENT Permission to use, copy, modify, and distribute this software for +COMMENT any purpose is hereby granted without fee, provided that the above +COMMENT copyright notice and this permission notice appear in all copies. +COMMENT The authors make no representations about the suitability of this +COMMENT software for any purpose. It is provided "as is" without express +COMMENT or implied warranty. +COMMENT +COMMENT Designed by Stephen Gildea +COMMENT Original design November 1989. +COMMENT Current version June 1990. +COMMENT +COMMENT Characters above 127 designed and made by +COMMENT Thomas Bagli (pyramid!pcsbst!tom@uunet.UU.NET) +COMMENT PCS Computer Systeme, West Germany +COMMENT +FONT -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-70-ISO8859-1 +SIZE 13 78 78 +FONTBOUNDINGBOX 7 13 0 -2 +STARTPROPERTIES 21 FONTNAME_REGISTRY "" FOUNDRY "Misc" FAMILY_NAME "Fixed" @@ -14,67 +29,247 @@ WEIGHT_NAME "Medium" SLANT "R" SETWIDTH_NAME "Normal" ADD_STYLE_NAME "" -PIXEL_SIZE 14 -POINT_SIZE 130 +PIXEL_SIZE 13 +POINT_SIZE 120 RESOLUTION_X 75 RESOLUTION_Y 75 SPACING "C" AVERAGE_WIDTH 70 CHARSET_REGISTRY "ISO8859" CHARSET_ENCODING "1" -DEFAULT_CHAR 32 +UNDERLINE_POSITION -1 +DESTINATION 1 +DEFAULT_CHAR 0 FONT_DESCENT 2 -FONT_ASCENT 12 -COPYRIGHT "Public domain font. Share and enjoy." +FONT_ASCENT 11 +DATE "June 1990" ENDPROPERTIES -CHARS 209 -STARTCHAR 0001 +CHARS 224 +STARTCHAR Error +ENCODING 0 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +78 +78 +78 +78 +78 +78 +78 +78 +78 +78 +78 +00 +ENDCHAR +STARTCHAR C001 ENCODING 1 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -18 -18 -3C -3C -7E -7E -3C -3C -18 -18 +00 +00 +00 +20 +70 +f8 +70 +20 +00 00 00 ENDCHAR -STARTCHAR 0002 +STARTCHAR C002 ENCODING 2 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP +00 +a8 54 -AA +a8 54 -AA +a8 54 -AA +a8 54 -AA +a8 54 -AA +a8 54 -AA -54 -AA ENDCHAR -STARTCHAR 000b +STARTCHAR HT +ENCODING 3 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +90 +90 +f0 +90 +90 +1c +08 +08 +08 +08 +00 +ENDCHAR +STARTCHAR FF +ENCODING 4 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +f0 +80 +e0 +80 +80 +3c +20 +38 +20 +20 +00 +ENDCHAR +STARTCHAR CR +ENCODING 5 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +70 +80 +80 +80 +70 +38 +24 +38 +28 +24 +00 +ENDCHAR +STARTCHAR LF +ENCODING 6 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +80 +80 +80 +80 +f0 +3c +20 +38 +20 +20 +00 +ENDCHAR +STARTCHAR Degree +ENCODING 7 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +70 +88 +88 +70 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Plus/Minus +ENCODING 8 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +20 +20 +f8 +20 +20 +00 +f8 +00 +00 +00 +ENDCHAR +STARTCHAR NL +ENCODING 9 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +90 +d0 +b0 +90 +90 +20 +20 +20 +20 +3c +00 +ENDCHAR +STARTCHAR VT +ENCODING 10 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +88 +88 +50 +50 +20 +7c +10 +10 +10 +10 +00 +ENDCHAR +STARTCHAR C013 ENCODING 11 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 10 10 @@ -82,8 +277,7 @@ BITMAP 10 10 10 -10 -F0 +f0 00 00 00 @@ -91,11 +285,11 @@ F0 00 00 ENDCHAR -STARTCHAR 000c +STARTCHAR C014 ENCODING 12 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -103,8 +297,7 @@ BITMAP 00 00 00 -00 -F0 +f0 10 10 10 @@ -112,11 +305,11 @@ F0 10 10 ENDCHAR -STARTCHAR 000d +STARTCHAR C015 ENCODING 13 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -124,8 +317,7 @@ BITMAP 00 00 00 -00 -1E +1e 10 10 10 @@ -133,11 +325,11 @@ BITMAP 10 10 ENDCHAR -STARTCHAR 000e +STARTCHAR C016 ENCODING 14 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 10 10 @@ -145,8 +337,7 @@ BITMAP 10 10 10 -10 -1E +1e 00 00 00 @@ -154,11 +345,11 @@ BITMAP 00 00 ENDCHAR -STARTCHAR 000f +STARTCHAR C017 ENCODING 15 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 10 10 @@ -166,8 +357,7 @@ BITMAP 10 10 10 -10 -FE +fe 10 10 10 @@ -175,16 +365,15 @@ FE 10 10 ENDCHAR -STARTCHAR 0010 +STARTCHAR C020 ENCODING 16 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -FE -00 00 00 +fe 00 00 00 @@ -196,18 +385,17 @@ FE 00 00 ENDCHAR -STARTCHAR 0011 +STARTCHAR C021 ENCODING 17 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 -FE -00 +fe 00 00 00 @@ -217,11 +405,11 @@ FE 00 00 ENDCHAR -STARTCHAR 0012 +STARTCHAR C022 ENCODING 18 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -229,8 +417,7 @@ BITMAP 00 00 00 -00 -FE +fe 00 00 00 @@ -238,11 +425,11 @@ FE 00 00 ENDCHAR -STARTCHAR 0013 +STARTCHAR C023 ENCODING 19 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -252,18 +439,17 @@ BITMAP 00 00 00 -00 -FE +fe 00 00 00 00 ENDCHAR -STARTCHAR 0014 +STARTCHAR C024 ENCODING 20 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -275,16 +461,15 @@ BITMAP 00 00 00 +fe 00 00 -00 -FE ENDCHAR -STARTCHAR 0015 +STARTCHAR C025 ENCODING 21 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 10 10 @@ -292,8 +477,7 @@ BITMAP 10 10 10 -10 -1E +1e 10 10 10 @@ -301,11 +485,11 @@ BITMAP 10 10 ENDCHAR -STARTCHAR 0016 +STARTCHAR C026 ENCODING 22 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 10 10 @@ -313,8 +497,7 @@ BITMAP 10 10 10 -10 -F0 +f0 10 10 10 @@ -322,11 +505,11 @@ F0 10 10 ENDCHAR -STARTCHAR 0017 +STARTCHAR C027 ENCODING 23 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 10 10 @@ -334,8 +517,7 @@ BITMAP 10 10 10 -10 -FE +fe 00 00 00 @@ -343,11 +525,11 @@ FE 00 00 ENDCHAR -STARTCHAR 0018 +STARTCHAR C030 ENCODING 24 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -355,8 +537,7 @@ BITMAP 00 00 00 -00 -FE +fe 10 10 10 @@ -364,11 +545,11 @@ FE 10 10 ENDCHAR -STARTCHAR 0019 +STARTCHAR C031 ENCODING 25 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 10 10 @@ -383,13 +564,132 @@ BITMAP 10 10 10 -10 ENDCHAR -STARTCHAR 0020 +STARTCHAR <= +ENCODING 26 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +04 +18 +60 +80 +60 +18 +04 +fc +00 +00 +ENDCHAR +STARTCHAR >= +ENCODING 27 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +80 +60 +18 +04 +18 +60 +80 +fc +00 +00 +ENDCHAR +STARTCHAR Pi +ENCODING 28 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +fc +48 +48 +48 +48 +88 +00 +00 +ENDCHAR +STARTCHAR Not Equal +ENCODING 29 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +04 +08 +fc +10 +20 +fc +40 +80 +00 +00 +ENDCHAR +STARTCHAR Pound Sterling +ENCODING 30 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +38 +44 +40 +40 +e0 +40 +40 +44 +b8 +00 +00 +ENDCHAR +STARTCHAR Cdot +ENCODING 31 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +00 +10 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Space ENCODING 32 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -404,13 +704,12 @@ BITMAP 00 00 00 -00 ENDCHAR -STARTCHAR 0021 +STARTCHAR ! ENCODING 33 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -423,22 +722,20 @@ BITMAP 10 00 10 -10 00 00 ENDCHAR -STARTCHAR 0022 +STARTCHAR " ENCODING 34 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -6C -24 -24 -48 00 00 +28 +28 +28 00 00 00 @@ -448,102 +745,97 @@ BITMAP 00 00 ENDCHAR -STARTCHAR 0023 +STARTCHAR # ENCODING 35 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -0A -0A -0A -7E -14 -14 -7E +00 28 28 +7c 28 +7c +28 +28 +00 00 00 ENDCHAR -STARTCHAR 0024 +STARTCHAR $ ENCODING 36 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -08 -3C -4A -4A -28 -1C -0A -4A -4A -3C -08 +00 +10 +3c +50 +38 +14 +78 +10 +00 +00 00 ENDCHAR -STARTCHAR 0025 +STARTCHAR % ENCODING 37 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -32 -4A -4C -38 -08 +44 +a4 +48 10 -1C -32 -52 -4C +10 +20 +48 +94 +88 00 00 ENDCHAR -STARTCHAR 0026 +STARTCHAR & ENCODING 38 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -18 -24 -24 -24 -18 -32 -4A -44 -4C -32 +00 +00 +60 +90 +90 +60 +94 +88 +74 00 00 ENDCHAR -STARTCHAR 0027 +STARTCHAR ' ENCODING 39 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP +00 +00 +38 30 -10 -10 -20 -00 -00 +40 00 00 00 @@ -553,74 +845,71 @@ BITMAP 00 00 ENDCHAR -STARTCHAR 0028 +STARTCHAR ( ENCODING 40 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -02 -04 -08 +00 08 10 10 -10 +20 +20 +20 10 10 08 -08 -04 -02 +00 +00 ENDCHAR -STARTCHAR 0029 +STARTCHAR ) ENCODING 41 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -40 +00 20 10 10 08 08 08 -08 -08 10 10 20 -40 +00 +00 ENDCHAR -STARTCHAR 002a +STARTCHAR * ENCODING 42 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 -08 -2A -1C -08 -08 -1C -2A -08 +00 +48 +30 +fc +30 +48 +00 00 00 00 ENDCHAR -STARTCHAR 002b +STARTCHAR + ENCODING 43 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -628,20 +917,19 @@ BITMAP 00 10 10 -10 -7C -10 +7c 10 10 00 00 00 +00 ENDCHAR -STARTCHAR 002c +STARTCHAR , ENCODING 44 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -652,17 +940,16 @@ BITMAP 00 00 00 -00 +38 30 -10 -10 -20 +40 +00 ENDCHAR -STARTCHAR 002d +STARTCHAR - ENCODING 45 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -670,8 +957,7 @@ BITMAP 00 00 00 -00 -7E +fc 00 00 00 @@ -679,11 +965,11 @@ BITMAP 00 00 ENDCHAR -STARTCHAR 002e +STARTCHAR . ENCODING 46 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -694,294 +980,279 @@ BITMAP 00 00 00 -00 10 +38 10 00 -00 ENDCHAR -STARTCHAR 002f +STARTCHAR / ENCODING 47 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -02 -02 +00 04 04 08 08 -08 -10 10 20 20 40 40 +00 +00 ENDCHAR -STARTCHAR 0030 +STARTCHAR 0 ENCODING 48 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -18 -24 -42 -42 -42 -42 -42 -42 -24 -18 +30 +48 +84 +84 +84 +84 +84 +48 +30 00 00 ENDCHAR -STARTCHAR 0031 +STARTCHAR 1 ENCODING 49 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -08 -18 -28 -08 -08 -08 -08 -08 -08 -3E +10 +30 +50 +10 +10 +10 +10 +10 +7c 00 00 ENDCHAR -STARTCHAR 0032 +STARTCHAR 2 ENCODING 50 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3C -42 -42 -02 -04 +78 +84 +84 04 08 -10 -20 -7E +30 +40 +80 +fc 00 00 ENDCHAR -STARTCHAR 0033 +STARTCHAR 3 ENCODING 51 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3C -42 -42 -02 -1C -02 -02 -42 -42 -3C +fc +04 +08 +10 +38 +04 +04 +84 +78 00 00 ENDCHAR -STARTCHAR 0034 +STARTCHAR 4 ENCODING 52 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -04 -0C -14 -14 -24 -24 -44 -7E -04 -04 +08 +18 +28 +48 +88 +88 +fc +08 +08 00 00 ENDCHAR -STARTCHAR 0035 +STARTCHAR 5 ENCODING 53 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -7E -40 -40 -7C -42 -02 -02 -42 -42 -3C +fc +80 +80 +b8 +c4 +04 +04 +84 +78 00 00 ENDCHAR -STARTCHAR 0036 +STARTCHAR 6 ENCODING 54 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -1C -22 -42 +38 40 -5C -62 -42 -42 -42 -3C +80 +80 +b8 +c4 +84 +84 +78 00 00 ENDCHAR -STARTCHAR 0037 +STARTCHAR 7 ENCODING 55 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -7E -42 -44 +fc 04 08 -08 -08 -08 -08 -08 +10 +10 +20 +20 +40 +40 00 00 ENDCHAR -STARTCHAR 0038 +STARTCHAR 8 ENCODING 56 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3C -42 -42 -24 -18 -24 -42 -42 -42 -3C +78 +84 +84 +84 +78 +84 +84 +84 +78 00 00 ENDCHAR -STARTCHAR 0039 +STARTCHAR 9 ENCODING 57 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3C -42 -42 -42 -46 -3A -02 -42 -44 -38 +78 +84 +84 +8c +74 +04 +04 +08 +70 00 00 ENDCHAR -STARTCHAR 003a +STARTCHAR : ENCODING 58 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 10 +38 10 00 00 -00 10 +38 10 00 -00 -00 ENDCHAR -STARTCHAR 003b +STARTCHAR ; ENCODING 59 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 10 +38 10 00 00 -00 +38 30 -10 -10 -20 +40 00 ENDCHAR -STARTCHAR 003c +STARTCHAR < ENCODING 60 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -00 04 08 10 @@ -994,36 +1265,34 @@ BITMAP 00 00 ENDCHAR -STARTCHAR 003d +STARTCHAR = ENCODING 61 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 00 -7E +fc 00 00 -7E -00 +fc 00 00 00 00 ENDCHAR -STARTCHAR 003e +STARTCHAR > ENCODING 62 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -00 40 20 10 @@ -1036,1342 +1305,1278 @@ BITMAP 00 00 ENDCHAR -STARTCHAR 003f +STARTCHAR ? ENCODING 63 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3C -42 -42 +78 +84 +84 04 08 -08 -08 +10 +10 00 -08 -08 +10 00 00 ENDCHAR -STARTCHAR 0040 +STARTCHAR @ ENCODING 64 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -1C -22 -4E -52 -52 -52 -52 -4E -20 -1E +78 +84 +84 +9c +a4 +ac +94 +80 +78 00 00 ENDCHAR -STARTCHAR 0041 +STARTCHAR A ENCODING 65 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -10 -18 -28 -24 -44 -42 -7E -42 -42 -42 +30 +48 +84 +84 +84 +fc +84 +84 +84 00 00 ENDCHAR -STARTCHAR 0042 +STARTCHAR B ENCODING 66 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -7C -42 -42 +f8 44 -7C -42 -42 -42 -42 -7C +44 +44 +78 +44 +44 +44 +f8 00 00 ENDCHAR -STARTCHAR 0043 +STARTCHAR C ENCODING 67 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3C -42 -42 -40 -40 -40 -40 -42 -42 -3C +78 +84 +80 +80 +80 +80 +80 +84 +78 00 00 ENDCHAR -STARTCHAR 0044 +STARTCHAR D ENCODING 68 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -78 +f8 44 -42 -42 -42 -42 -42 -42 44 -78 +44 +44 +44 +44 +44 +f8 00 00 ENDCHAR -STARTCHAR 0045 +STARTCHAR E ENCODING 69 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -7E -40 -40 -40 -7C -40 -40 -40 -40 -7E +fc +80 +80 +80 +f0 +80 +80 +80 +fc 00 00 ENDCHAR -STARTCHAR 0046 +STARTCHAR F ENCODING 70 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -7E -40 -40 -40 -7C -40 -40 -40 -40 -40 +fc +80 +80 +80 +f0 +80 +80 +80 +80 00 00 ENDCHAR -STARTCHAR 0047 +STARTCHAR G ENCODING 71 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3C -42 -42 -40 -40 -4E -42 -42 -42 -3C +78 +84 +80 +80 +80 +9c +84 +8c +74 00 00 ENDCHAR -STARTCHAR 0048 +STARTCHAR H ENCODING 72 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -42 -42 -42 -42 -7E -42 -42 -42 -42 -42 +84 +84 +84 +84 +fc +84 +84 +84 +84 00 00 ENDCHAR -STARTCHAR 0049 +STARTCHAR I ENCODING 73 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3E -08 -08 -08 -08 -08 -08 -08 -08 -3E +f8 +20 +20 +20 +20 +20 +20 +20 +f8 00 00 ENDCHAR -STARTCHAR 004a +STARTCHAR J ENCODING 74 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -02 -02 -02 -02 -02 -02 -02 -42 -44 -38 +1c +08 +08 +08 +08 +08 +08 +88 +70 00 00 ENDCHAR -STARTCHAR 004b +STARTCHAR K ENCODING 75 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -42 -44 -48 -50 -70 -48 -48 -44 -42 -42 +84 +88 +90 +a0 +c0 +a0 +90 +88 +84 00 00 ENDCHAR -STARTCHAR 004c +STARTCHAR L ENCODING 76 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -40 -40 -40 -40 -40 -40 -40 -40 -40 -7E +80 +80 +80 +80 +80 +80 +80 +80 +fc 00 00 ENDCHAR -STARTCHAR 004d +STARTCHAR M ENCODING 77 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -42 -46 -66 -6A -5A -52 -52 -42 -42 -42 +84 +cc +cc +b4 +b4 +84 +84 +84 +84 00 00 ENDCHAR -STARTCHAR 004e +STARTCHAR N ENCODING 78 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -62 -62 -52 -52 -52 -4A -4A -4A -46 -46 +84 +84 +c4 +a4 +94 +8c +84 +84 +84 00 00 ENDCHAR -STARTCHAR 004f +STARTCHAR O ENCODING 79 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3C -42 -42 -42 -42 -42 -42 -42 -42 -3C +78 +84 +84 +84 +84 +84 +84 +84 +78 00 00 ENDCHAR -STARTCHAR 0050 +STARTCHAR P ENCODING 80 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -7C -42 -42 -42 -42 -7C -40 -40 -40 -40 +f8 +84 +84 +84 +f8 +80 +80 +80 +80 00 00 ENDCHAR -STARTCHAR 0051 +STARTCHAR Q ENCODING 81 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3C -42 -42 -42 -42 -42 -72 -4A -46 -3C +78 +84 +84 +84 +84 +84 +a4 +94 +78 04 -02 +00 ENDCHAR -STARTCHAR 0052 +STARTCHAR R ENCODING 82 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -7C -42 -42 -42 -7C -44 -42 -42 -42 -42 +f8 +84 +84 +84 +f8 +a0 +90 +88 +84 00 00 ENDCHAR -STARTCHAR 0053 +STARTCHAR S ENCODING 83 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3C -42 -42 -20 -10 -08 +78 +84 +80 +80 +78 04 -42 -42 -3C +04 +84 +78 00 00 ENDCHAR -STARTCHAR 0054 +STARTCHAR T ENCODING 84 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -7E -10 -10 -10 -10 -10 -10 -10 -10 -10 +f8 +20 +20 +20 +20 +20 +20 +20 +20 00 00 ENDCHAR -STARTCHAR 0055 +STARTCHAR U ENCODING 85 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -42 -42 -42 -42 -42 -42 -42 -42 -42 -3C +84 +84 +84 +84 +84 +84 +84 +84 +78 00 00 ENDCHAR -STARTCHAR 0056 +STARTCHAR V ENCODING 86 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -42 -42 -42 -44 -24 -24 -28 -18 -10 -10 -00 -00 -ENDCHAR -STARTCHAR 0057 -ENCODING 87 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -4A -4A -4A -4A -4A -7E -24 -24 -24 -24 -00 -00 -ENDCHAR -STARTCHAR 0058 -ENCODING 88 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -42 -42 -24 -24 -18 -18 -24 -24 -42 -42 -00 -00 -ENDCHAR -STARTCHAR 0059 -ENCODING 89 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -42 -42 -44 -24 -28 -18 -10 -10 -10 -10 -00 -00 -ENDCHAR -STARTCHAR 005a -ENCODING 90 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -7E -02 -04 -08 -08 -10 -20 -20 -40 -7E -00 -00 -ENDCHAR -STARTCHAR 005b -ENCODING 91 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -1E -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -1E -ENDCHAR -STARTCHAR 005c -ENCODING 92 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -40 -40 -20 -20 -10 -10 -10 -08 -08 -04 -04 -02 -02 -ENDCHAR -STARTCHAR 005d -ENCODING 93 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -78 -08 -08 -08 -08 -08 -08 -08 -08 -08 -08 -08 -78 -ENDCHAR -STARTCHAR 005e -ENCODING 94 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -18 -24 -42 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -ENDCHAR -STARTCHAR 005f -ENCODING 95 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -7E -ENDCHAR -STARTCHAR 0060 -ENCODING 96 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -0C -08 -08 -04 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -ENDCHAR -STARTCHAR 0061 -ENCODING 97 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -3C -42 -0E -32 -42 -46 -3A -00 -00 -ENDCHAR -STARTCHAR 0062 -ENCODING 98 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -40 -40 -40 -5C -62 -42 -42 -42 -62 -5C -00 -00 -ENDCHAR -STARTCHAR 0063 -ENCODING 99 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -3C -42 -40 -40 -40 -42 -3C -00 -00 -ENDCHAR -STARTCHAR 0064 -ENCODING 100 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -02 -02 -02 -3A -46 -42 -42 -42 -46 -3A -00 -00 -ENDCHAR -STARTCHAR 0065 -ENCODING 101 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -3C -42 -42 -7E -40 -42 -3C -00 -00 -ENDCHAR -STARTCHAR 0066 -ENCODING 102 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -0C -12 -10 -10 -7C -10 -10 -10 -10 -10 -00 -00 -ENDCHAR -STARTCHAR 0067 -ENCODING 103 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -3A -44 -44 -44 -38 -20 -5C -42 -3C -ENDCHAR -STARTCHAR 0068 -ENCODING 104 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -40 -40 -40 -5C -62 -42 -42 -42 -42 -42 -00 -00 -ENDCHAR -STARTCHAR 0069 -ENCODING 105 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -10 -10 -00 -10 -10 -10 -10 -10 -10 -10 -00 -00 -ENDCHAR -STARTCHAR 006a -ENCODING 106 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -04 -04 -00 -04 -04 -04 -04 -04 -04 -04 -44 -38 -ENDCHAR -STARTCHAR 006b -ENCODING 107 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -40 -40 -40 -44 +84 +84 +84 48 -50 -70 48 -44 -42 -00 -00 -ENDCHAR -STARTCHAR 006c -ENCODING 108 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -00 -00 -ENDCHAR -STARTCHAR 006d -ENCODING 109 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -7C -52 -52 -52 -52 -52 -52 -00 -00 -ENDCHAR -STARTCHAR 006e -ENCODING 110 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -5C -62 -42 -42 -42 -42 -42 -00 -00 -ENDCHAR -STARTCHAR 006f -ENCODING 111 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -3C -42 -42 -42 -42 -42 -3C -00 -00 -ENDCHAR -STARTCHAR 0070 -ENCODING 112 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -5C -62 -42 -42 -42 -62 -5C -40 -40 -ENDCHAR -STARTCHAR 0071 -ENCODING 113 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -3A -46 -42 -42 -42 -46 -3A -02 -02 -ENDCHAR -STARTCHAR 0072 -ENCODING 114 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -5C -62 -42 -40 -40 -40 -40 -00 -00 -ENDCHAR -STARTCHAR 0073 -ENCODING 115 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -3C -42 -20 -18 -04 -42 -3C -00 -00 -ENDCHAR -STARTCHAR 0074 -ENCODING 116 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -10 -10 -10 -7E -10 -10 -10 -10 -10 -0E -00 -00 -ENDCHAR -STARTCHAR 0075 -ENCODING 117 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -42 -42 -42 -42 -42 -46 -3A -00 -00 -ENDCHAR -STARTCHAR 0076 -ENCODING 118 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -42 -42 -22 -24 -14 -18 -08 -00 -00 -ENDCHAR -STARTCHAR 0077 -ENCODING 119 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -4A -4A -4A -7E -24 -24 -24 -00 -00 -ENDCHAR -STARTCHAR 0078 -ENCODING 120 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -42 -42 -24 -18 -24 -42 -42 -00 -00 -ENDCHAR -STARTCHAR 0079 -ENCODING 121 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -42 -42 -22 -24 -14 -1C -08 48 30 +30 +30 +00 +00 ENDCHAR -STARTCHAR 007a +STARTCHAR W +ENCODING 87 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +84 +84 +84 +84 +b4 +b4 +cc +cc +84 +00 +00 +ENDCHAR +STARTCHAR X +ENCODING 88 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +84 +84 +48 +48 +30 +48 +48 +84 +84 +00 +00 +ENDCHAR +STARTCHAR Y +ENCODING 89 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +88 +88 +50 +50 +20 +20 +20 +20 +20 +00 +00 +ENDCHAR +STARTCHAR Z +ENCODING 90 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +fc +04 +08 +10 +30 +20 +40 +80 +fc +00 +00 +ENDCHAR +STARTCHAR [ +ENCODING 91 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +78 +40 +40 +40 +40 +40 +40 +40 +78 +00 +00 +ENDCHAR +STARTCHAR \ +ENCODING 92 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +40 +40 +20 +20 +10 +08 +08 +04 +04 +00 +00 +ENDCHAR +STARTCHAR ] +ENCODING 93 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +78 +08 +08 +08 +08 +08 +08 +08 +78 +00 +00 +ENDCHAR +STARTCHAR ^ +ENCODING 94 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +10 +28 +44 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR _ +ENCODING 95 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +fc +00 +ENDCHAR +STARTCHAR ` +ENCODING 96 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +70 +30 +08 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR a +ENCODING 97 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +78 +04 +7c +84 +8c +74 +00 +00 +ENDCHAR +STARTCHAR b +ENCODING 98 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +80 +80 +80 +b8 +c4 +84 +84 +c4 +b8 +00 +00 +ENDCHAR +STARTCHAR c +ENCODING 99 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +78 +84 +80 +80 +84 +78 +00 +00 +ENDCHAR +STARTCHAR d +ENCODING 100 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +04 +04 +04 +74 +8c +84 +84 +8c +74 +00 +00 +ENDCHAR +STARTCHAR e +ENCODING 101 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +78 +84 +fc +80 +84 +78 +00 +00 +ENDCHAR +STARTCHAR f +ENCODING 102 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +38 +44 +40 +40 +f0 +40 +40 +40 +40 +00 +00 +ENDCHAR +STARTCHAR g +ENCODING 103 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +74 +88 +88 +70 +80 +78 +84 +78 +ENDCHAR +STARTCHAR h +ENCODING 104 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +80 +80 +80 +b8 +c4 +84 +84 +84 +84 +00 +00 +ENDCHAR +STARTCHAR i +ENCODING 105 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +20 +00 +60 +20 +20 +20 +20 +f8 +00 +00 +ENDCHAR +STARTCHAR j +ENCODING 106 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +08 +00 +18 +08 +08 +08 +08 +88 +88 +70 +ENDCHAR +STARTCHAR k +ENCODING 107 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +80 +80 +80 +88 +90 +e0 +90 +88 +84 +00 +00 +ENDCHAR +STARTCHAR l +ENCODING 108 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +60 +20 +20 +20 +20 +20 +20 +20 +f8 +00 +00 +ENDCHAR +STARTCHAR m +ENCODING 109 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +d0 +a8 +a8 +a8 +a8 +88 +00 +00 +ENDCHAR +STARTCHAR n +ENCODING 110 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +b8 +c4 +84 +84 +84 +84 +00 +00 +ENDCHAR +STARTCHAR o +ENCODING 111 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +78 +84 +84 +84 +84 +78 +00 +00 +ENDCHAR +STARTCHAR p +ENCODING 112 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +b8 +c4 +84 +c4 +b8 +80 +80 +80 +ENDCHAR +STARTCHAR q +ENCODING 113 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +74 +8c +84 +8c +74 +04 +04 +04 +ENDCHAR +STARTCHAR r +ENCODING 114 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +b8 +44 +40 +40 +40 +40 +00 +00 +ENDCHAR +STARTCHAR s +ENCODING 115 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +78 +84 +60 +18 +84 +78 +00 +00 +ENDCHAR +STARTCHAR t +ENCODING 116 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +40 +40 +f0 +40 +40 +40 +44 +38 +00 +00 +ENDCHAR +STARTCHAR u +ENCODING 117 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +84 +84 +84 +84 +8c +74 +00 +00 +ENDCHAR +STARTCHAR v +ENCODING 118 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +88 +88 +88 +50 +50 +20 +00 +00 +ENDCHAR +STARTCHAR w +ENCODING 119 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +88 +88 +a8 +a8 +a8 +50 +00 +00 +ENDCHAR +STARTCHAR x +ENCODING 120 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +84 +48 +30 +30 +48 +84 +00 +00 +ENDCHAR +STARTCHAR y +ENCODING 121 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +84 +84 +84 +8c +74 +04 +84 +78 +ENDCHAR +STARTCHAR z ENCODING 122 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 00 -7E -04 +fc 08 10 -10 20 -7E +40 +fc 00 00 ENDCHAR -STARTCHAR 007b +STARTCHAR { ENCODING 123 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -06 -08 -08 -08 -08 -08 -10 -08 -08 -08 -08 -08 -06 -ENDCHAR -STARTCHAR 007c -ENCODING 124 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -ENDCHAR -STARTCHAR 007d -ENCODING 125 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -60 -10 -10 -10 -10 -10 -08 -10 -10 -10 -10 -10 -60 -ENDCHAR -STARTCHAR 007e -ENCODING 126 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP 00 +1c 20 -52 -4A -04 +20 +10 +60 +10 +20 +20 +1c 00 00 +ENDCHAR +STARTCHAR | +ENCODING 124 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +10 +10 +10 +10 +10 +10 +10 +10 +10 +00 +00 +ENDCHAR +STARTCHAR } +ENCODING 125 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +70 +08 +08 +10 +0c +10 +08 +08 +70 +00 +00 +ENDCHAR +STARTCHAR ~ +ENCODING 126 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +24 +54 +48 +00 00 00 00 @@ -2380,11 +2585,11 @@ BITMAP 00 00 ENDCHAR -STARTCHAR 007f +STARTCHAR (Blank) ENCODING 127 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -2399,13 +2604,12 @@ BITMAP 00 00 00 -00 ENDCHAR STARTCHAR 00a0 ENCODING 160 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -2420,18 +2624,16 @@ BITMAP 00 00 00 -00 ENDCHAR STARTCHAR 00a1 ENCODING 161 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 10 -10 00 10 10 @@ -2445,93 +2647,89 @@ BITMAP ENDCHAR STARTCHAR 00a2 ENCODING 162 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 +10 +38 +54 +50 +50 +54 +38 +10 00 00 -10 -3e -52 -50 -50 -50 -52 -3e -10 00 ENDCHAR STARTCHAR 00a3 ENCODING 163 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -00 -18 -24 -20 -20 -78 -20 -20 -78 -24 +38 +44 +40 +40 +e0 +40 +40 +44 +b8 00 00 ENDCHAR STARTCHAR 00a4 ENCODING 164 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 -42 -3c -24 -24 -3c -42 -00 +84 +78 +48 +48 +78 +84 00 00 00 ENDCHAR STARTCHAR 00a5 ENCODING 165 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -42 -24 -18 -7e -08 -08 -7e -08 -08 -08 +88 +88 +50 +50 +f8 +20 +f8 +20 +20 00 00 ENDCHAR STARTCHAR 00a6 ENCODING 166 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -2540,7 +2738,6 @@ BITMAP 10 10 00 -00 10 10 10 @@ -2550,35 +2747,33 @@ BITMAP ENDCHAR STARTCHAR 00a7 ENCODING 167 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -3c -42 -20 -18 -24 -42 -24 -18 -04 -42 -3c +30 +48 +40 +30 +48 +48 +30 +08 +48 +30 00 00 ENDCHAR STARTCHAR 00a8 ENCODING 168 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -48 -48 00 +6c 00 00 00 @@ -2592,41 +2787,39 @@ BITMAP ENDCHAR STARTCHAR 00a9 ENCODING 169 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -3c -42 -5a -66 -62 -62 -62 -66 -5a -42 -3c +78 +84 +b4 +a4 +a4 +a4 +b4 +84 +78 +00 00 00 ENDCHAR STARTCHAR 00aa ENCODING 170 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -1c -22 -1e -22 -26 -1a 00 -3e +38 +04 +3c +44 +3c 00 +7c 00 00 00 @@ -2634,30 +2827,29 @@ BITMAP ENDCHAR STARTCHAR 00ab ENCODING 171 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 -00 -00 -0a 14 28 50 +a0 +50 28 14 -0a +00 00 00 ENDCHAR STARTCHAR 00ac ENCODING 172 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -2665,20 +2857,19 @@ BITMAP 00 00 00 +7c +04 +04 00 00 -f8 -08 -08 -08 00 00 ENDCHAR STARTCHAR 00ad ENCODING 173 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -2686,10 +2877,9 @@ BITMAP 00 00 00 +7c 00 00 -f0 -00 00 00 00 @@ -2697,35 +2887,33 @@ f0 ENDCHAR STARTCHAR 00ae ENCODING 174 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -3c -42 -7a -66 -66 -7a -66 -66 -66 -42 -3c +78 +84 +b4 +ac +ac +b4 +ac +84 +78 +00 00 00 ENDCHAR STARTCHAR 00af ENCODING 175 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -f0 -00 +7c 00 00 00 @@ -2739,11 +2927,12 @@ f0 ENDCHAR STARTCHAR 00b0 ENCODING 176 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +00 30 48 48 @@ -2755,44 +2944,40 @@ BITMAP 00 00 00 -00 -00 ENDCHAR STARTCHAR 00b1 ENCODING 177 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 -00 -00 -00 10 10 7c 10 10 +00 7c 00 00 +00 ENDCHAR STARTCHAR 00b2 ENCODING 178 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -30 -48 -08 -10 +40 +a0 20 40 -78 +80 +e0 00 00 00 @@ -2802,18 +2987,17 @@ BITMAP ENDCHAR STARTCHAR 00b3 ENCODING 179 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -30 -48 -08 -30 -08 -48 -30 +e0 +20 +40 +20 +a0 +40 00 00 00 @@ -2823,15 +3007,14 @@ BITMAP ENDCHAR STARTCHAR 00b4 ENCODING 180 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -08 10 20 -40 +00 00 00 00 @@ -2844,51 +3027,49 @@ BITMAP ENDCHAR STARTCHAR 00b5 ENCODING 181 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 00 +84 +84 +84 +84 +cc +b4 +80 00 -44 -44 -44 -44 -6c -54 -40 -40 ENDCHAR STARTCHAR 00b6 ENCODING 182 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3c -54 -54 -54 -54 -34 -14 -14 -14 -14 -14 -1c +7c +e8 +e8 +e8 +68 +28 +28 +28 +28 +00 +00 ENDCHAR STARTCHAR 00b7 ENCODING 183 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -2896,8 +3077,7 @@ BITMAP 00 00 00 -10 -00 +30 00 00 00 @@ -2907,9 +3087,9 @@ BITMAP ENDCHAR STARTCHAR 00b8 ENCODING 184 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -2923,23 +3103,21 @@ BITMAP 00 00 10 -10 20 ENDCHAR STARTCHAR 00b9 ENCODING 185 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -00 -20 -60 -20 -20 -20 -20 +40 +c0 +40 +40 +40 +e0 00 00 00 @@ -2949,19 +3127,18 @@ BITMAP ENDCHAR STARTCHAR 00ba ENCODING 186 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -18 -24 -24 -18 -00 -3c +30 +48 +48 +30 00 +78 00 00 00 @@ -2970,732 +3147,697 @@ BITMAP ENDCHAR STARTCHAR 00bb ENCODING 187 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 -00 -00 +a0 50 28 14 -0a -14 28 50 +a0 +00 00 00 ENDCHAR STARTCHAR 00bc ENCODING 188 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -00 -20 -62 -24 -24 -28 -12 -16 -2a -4e -42 +40 +c0 +40 +40 +44 +ec +14 +14 +1c +04 00 00 ENDCHAR STARTCHAR 00bd ENCODING 189 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -00 -20 -62 -24 -24 -28 -14 -1a -22 -44 -4e +40 +c0 +40 +40 +48 +f4 +04 +08 +10 +1c 00 00 ENDCHAR STARTCHAR 00be ENCODING 190 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -00 -62 -12 -24 -18 -68 -12 -26 -2a -4e -02 +e0 +20 +40 +20 +a4 +4c +14 +14 +1c +04 00 00 ENDCHAR STARTCHAR 00bf ENCODING 191 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 +20 +00 +20 +20 +40 +80 +84 +84 +78 00 -08 -08 00 -08 -08 -08 -08 -04 -42 -42 -3c ENDCHAR STARTCHAR 00c0 ENCODING 192 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -20 -18 00 -18 -28 -24 -44 -42 -7E -42 -42 -42 +20 +10 +00 +30 +48 +84 +84 +fc +84 +84 00 00 ENDCHAR STARTCHAR 00c1 ENCODING 193 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -04 -18 00 -18 -28 -24 -44 -42 -7E -42 -42 -42 +10 +20 +00 +30 +48 +84 +84 +fc +84 +84 00 00 ENDCHAR STARTCHAR 00c2 ENCODING 194 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -18 -24 00 -18 -28 -24 -44 -42 -7E -42 -42 -42 +30 +48 +00 +30 +48 +84 +84 +fc +84 +84 00 00 ENDCHAR STARTCHAR 00c3 ENCODING 195 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -14 -28 00 -18 28 -24 -44 -42 -7E -42 -42 -42 +50 +00 +30 +48 +84 +84 +fc +84 +84 00 00 ENDCHAR STARTCHAR 00c4 ENCODING 196 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -24 +48 +48 00 -18 -28 -24 -44 -42 -7E -42 -42 -42 +30 +48 +84 +84 +fc +84 +84 00 00 ENDCHAR STARTCHAR 00c5 ENCODING 197 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -10 00 -10 -18 -28 -24 -44 -42 -7E -42 -42 -42 +30 +48 +30 +30 +48 +84 +84 +fc +84 +84 00 00 ENDCHAR STARTCHAR 00c6 ENCODING 198 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3E -50 -50 -50 -9C -f0 -90 -90 -90 -9E +5c +a0 +a0 +a0 +b8 +e0 +a0 +a0 +bc 00 00 ENDCHAR STARTCHAR 00c7 ENCODING 199 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3C -42 -42 -40 -40 -40 -40 -42 -42 -3C -08 +78 +84 +80 +80 +80 +80 +80 +84 +78 10 +20 ENDCHAR STARTCHAR 00c8 ENCODING 200 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -20 -18 00 -7e -40 -40 -40 -7c -40 -40 -40 -7E +20 +10 +00 +fc +80 +80 +f0 +80 +80 +fc 00 00 ENDCHAR STARTCHAR 00c9 ENCODING 201 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -04 -18 00 -7e -40 -40 -40 -7c -40 -40 -40 -7E +10 +20 +00 +fc +80 +80 +f0 +80 +80 +fc 00 00 ENDCHAR STARTCHAR 00ca ENCODING 202 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -18 -24 00 -7e -40 -40 -40 -7c -40 -40 -40 -7E +30 +48 +00 +fc +80 +80 +f0 +80 +80 +fc 00 00 ENDCHAR STARTCHAR 00cb ENCODING 203 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -24 +48 +48 00 -7e -40 -40 -40 -7c -40 -40 -40 -7E +fc +80 +80 +f0 +80 +80 +fc 00 00 ENDCHAR STARTCHAR 00cc ENCODING 204 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -10 -0c 00 -3e -08 -08 -08 -08 -08 -08 -08 -3E +20 +10 +00 +7c +10 +10 +10 +10 +10 +7c 00 00 ENDCHAR STARTCHAR 00cd ENCODING 205 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -04 -18 00 -3e -08 -08 -08 -08 -08 -08 -08 -3E +10 +20 +00 +7c +10 +10 +10 +10 +10 +7c 00 00 ENDCHAR STARTCHAR 00ce ENCODING 206 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -08 -14 00 -3e -08 -08 -08 -08 -08 -08 -08 -3E +30 +48 +00 +7c +10 +10 +10 +10 +10 +7c 00 00 ENDCHAR STARTCHAR 00cf ENCODING 207 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -14 +28 +28 00 -3e -08 -08 -08 -08 -08 -08 -08 -3E +7c +10 +10 +10 +10 +10 +7c 00 00 ENDCHAR STARTCHAR 00d0 ENCODING 208 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -78 +f8 44 -42 -42 -e2 -42 -42 -42 44 -78 +44 +e4 +44 +44 +44 +f8 00 00 ENDCHAR STARTCHAR 00d1 ENCODING 209 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -14 -28 00 -62 -52 -52 -52 -4A -4A -4A -46 -46 +28 +50 +00 +84 +c4 +a4 +a4 +94 +8c +84 00 00 ENDCHAR STARTCHAR 00d2 ENCODING 210 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -20 -18 00 -3c -42 -42 -42 -42 -42 -42 -42 -3C +20 +10 +00 +78 +84 +84 +84 +84 +84 +78 00 00 ENDCHAR STARTCHAR 00d3 ENCODING 211 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -04 -18 00 -3c -42 -42 -42 -42 -42 -42 -42 -3C +10 +20 +00 +78 +84 +84 +84 +84 +84 +78 00 00 ENDCHAR STARTCHAR 00d4 ENCODING 212 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -18 -24 00 -3c -42 -42 -42 -42 -42 -42 -42 -3C +30 +48 +00 +78 +84 +84 +84 +84 +84 +78 00 00 ENDCHAR STARTCHAR 00d5 ENCODING 213 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -14 -28 00 -3c -42 -42 -42 -42 -42 -42 -42 -3C +28 +50 +00 +78 +84 +84 +84 +84 +84 +78 00 00 ENDCHAR STARTCHAR 00d6 ENCODING 214 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -24 +48 +48 00 -3c -42 -42 -42 -42 -42 -42 -42 -3C +78 +84 +84 +84 +84 +84 +78 00 00 ENDCHAR STARTCHAR 00d7 ENCODING 215 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 +84 +48 +30 +30 +48 +84 00 -82 -44 -28 -10 -28 -44 -82 00 00 ENDCHAR STARTCHAR 00d8 ENCODING 216 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -02 -02 -3C -46 -4a -4a -4a -52 -52 -52 -62 -3C -40 -40 +00 +04 +78 +8c +94 +94 +a4 +a4 +a4 +c4 +78 +80 +00 ENDCHAR STARTCHAR 00d9 ENCODING 217 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -20 -18 00 -42 -42 -42 -42 -42 -42 -42 -42 -3C +20 +10 +00 +84 +84 +84 +84 +84 +84 +78 00 00 ENDCHAR STARTCHAR 00da ENCODING 218 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -04 -18 00 -42 -42 -42 -42 -42 -42 -42 -42 -3C +10 +20 +00 +84 +84 +84 +84 +84 +84 +78 00 00 ENDCHAR STARTCHAR 00db ENCODING 219 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -18 -24 00 -42 -42 -42 -42 -42 -42 -42 -42 -3C +30 +48 +00 +84 +84 +84 +84 +84 +84 +78 00 00 ENDCHAR STARTCHAR 00dc ENCODING 220 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -24 +48 +48 00 -42 -42 -42 -42 -42 -42 -42 -42 -3C +84 +84 +84 +84 +84 +84 +78 00 00 ENDCHAR STARTCHAR 00dd ENCODING 221 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -04 -18 -42 -42 +00 +10 +20 +00 +44 44 -24 28 -18 10 10 10 @@ -3705,716 +3847,682 @@ BITMAP ENDCHAR STARTCHAR 00de ENCODING 222 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -40 -40 -7c -42 -42 -42 -42 -7c -40 -40 +80 +f8 +84 +84 +84 +f8 +80 +80 +80 00 00 ENDCHAR STARTCHAR 00df ENCODING 223 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -18 -24 -24 -24 -38 -24 -22 -22 -22 -7c 00 +78 +84 +84 +f8 +84 +84 +c4 +b8 +80 00 ENDCHAR STARTCHAR 00e0 ENCODING 224 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 20 10 -08 00 -3C -42 -0E -32 -42 -46 -3A +00 +78 +04 +7c +84 +8c +74 00 00 ENDCHAR STARTCHAR 00e1 ENCODING 225 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -04 -08 10 +20 00 -3C -42 -0E -32 -42 -46 -3A +00 +78 +04 +7c +84 +8c +74 00 00 ENDCHAR STARTCHAR 00e2 ENCODING 226 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +30 +48 00 -18 -24 00 -3C -42 -0E -32 -42 -46 -3A +78 +04 +7c +84 +8c +74 00 00 ENDCHAR STARTCHAR 00e3 ENCODING 227 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -00 -14 28 +50 00 -3C -42 -0E -32 -42 -46 -3A +00 +78 +04 +7c +84 +8c +74 00 00 ENDCHAR STARTCHAR 00e4 ENCODING 228 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +48 +48 00 00 -24 -00 -3C -42 -0E -32 -42 -46 -3A +78 +04 +7c +84 +8c +74 00 00 ENDCHAR STARTCHAR 00e5 ENCODING 229 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -10 -28 -10 +30 +48 +30 00 -3C -42 -0E -32 -42 -46 -3A +78 +04 +7c +84 +8c +74 00 00 ENDCHAR STARTCHAR 00e6 ENCODING 230 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 00 -7C -92 -32 -5E +68 +14 +7c 90 -92 -7C +94 +68 00 00 ENDCHAR STARTCHAR 00e7 ENCODING 231 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 00 -3C -42 -40 -40 -40 -42 -3C -08 +78 +84 +80 +80 +84 +78 10 +20 ENDCHAR STARTCHAR 00e8 ENCODING 232 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 20 10 -08 00 -3C -42 -42 -7E -40 -42 -3C +00 +78 +84 +fc +80 +84 +78 00 00 ENDCHAR STARTCHAR 00e9 ENCODING 233 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -04 -08 10 +20 00 -3C -42 -42 -7E -40 -42 -3C +00 +78 +84 +fc +80 +84 +78 00 00 ENDCHAR STARTCHAR 00ea ENCODING 234 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +30 +48 00 -18 -24 00 -3C -42 -42 -7E -40 -42 -3C +78 +84 +fc +80 +84 +78 00 00 ENDCHAR STARTCHAR 00eb ENCODING 235 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +48 +48 00 00 -24 -00 -3C -42 -42 -7E -40 -42 -3C +78 +84 +fc +80 +84 +78 00 00 ENDCHAR STARTCHAR 00ec ENCODING 236 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 20 10 -08 00 +00 +30 10 10 10 10 -10 -10 -10 +7c 00 00 ENDCHAR STARTCHAR 00ed ENCODING 237 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -08 10 20 00 +00 +30 10 10 10 10 -10 -10 -10 +7c 00 00 ENDCHAR STARTCHAR 00ee ENCODING 238 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +30 +48 00 -10 -28 00 +30 10 10 10 10 -10 -10 -10 +7c 00 00 ENDCHAR STARTCHAR 00ef ENCODING 239 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +48 +48 00 00 -28 -00 -10 -10 -10 +30 10 10 10 10 +7c 00 00 ENDCHAR STARTCHAR 00f0 ENCODING 240 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -28 -10 -28 -04 -3c -44 -44 -44 -44 -44 -38 +48 +30 +50 +08 +78 +84 +84 +84 +84 +78 00 00 ENDCHAR STARTCHAR 00f1 ENCODING 241 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -00 -14 28 +50 00 -5C -62 -42 -42 -42 -42 -42 +00 +b8 +c4 +84 +84 +84 +84 00 00 ENDCHAR STARTCHAR 00f2 ENCODING 242 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 20 10 -08 00 -3C -42 -42 -42 -42 -42 -3C +00 +78 +84 +84 +84 +84 +78 00 00 ENDCHAR STARTCHAR 00f3 ENCODING 243 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -04 -08 10 +20 00 -3C -42 -42 -42 -42 -42 -3C +00 +78 +84 +84 +84 +84 +78 00 00 ENDCHAR STARTCHAR 00f4 ENCODING 244 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +30 +48 00 -18 -24 00 -3C -42 -42 -42 -42 -42 -3C +78 +84 +84 +84 +84 +78 00 00 ENDCHAR STARTCHAR 00f5 ENCODING 245 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -00 -14 28 +50 00 -3C -42 -42 -42 -42 -42 -3C +00 +78 +84 +84 +84 +84 +78 00 00 ENDCHAR STARTCHAR 00f6 ENCODING 246 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +48 +48 00 00 -24 -00 -3C -42 -42 -42 -42 -42 -3C +78 +84 +84 +84 +84 +78 00 00 ENDCHAR STARTCHAR 00f7 ENCODING 247 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 +10 +10 00 +7c 00 +10 +10 00 00 -30 -00 -fc -00 -30 -00 00 ENDCHAR STARTCHAR 00f8 ENCODING 248 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 -02 +00 04 -3C -4a -4a -52 -52 -62 -3C -40 -40 +78 +8c +94 +a4 +c4 +78 +80 +00 ENDCHAR STARTCHAR 00f9 ENCODING 249 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -00 20 10 -08 -42 -42 -42 -42 -42 -46 -3A +00 +00 +84 +84 +84 +84 +8c +74 00 00 ENDCHAR STARTCHAR 00fa ENCODING 250 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -00 -04 -08 10 -42 -42 -42 -42 -42 -46 -3A +20 +00 +00 +84 +84 +84 +84 +8c +74 00 00 ENDCHAR STARTCHAR 00fb ENCODING 251 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +30 +48 00 -18 -24 00 -42 -42 -42 -42 -42 -46 -3A +84 +84 +84 +84 +8c +74 00 00 ENDCHAR STARTCHAR 00fc ENCODING 252 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +48 +48 00 00 -24 -00 -42 -42 -42 -42 -42 -46 -3A +84 +84 +84 +84 +8c +74 00 00 ENDCHAR STARTCHAR 00fd ENCODING 253 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -00 -04 -08 10 -42 -42 -22 -24 -14 -1C -08 -48 -30 +20 +00 +00 +84 +84 +84 +8c +74 +04 +84 +78 ENDCHAR STARTCHAR 00fe ENCODING 254 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -40 -40 -40 -5C -62 -42 -42 -42 -62 -5C -40 -40 +00 +80 +80 +b8 +c4 +84 +84 +c4 +b8 +80 +80 ENDCHAR STARTCHAR 00ff ENCODING 255 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -00 -00 -24 -00 -42 -42 -22 -24 -14 -1C -08 48 -30 +48 +00 +00 +84 +84 +84 +8c +74 +04 +84 +78 ENDCHAR ENDFONT diff --git a/resource/font/7x14B.bdf b/resource/font/7x13B.bdf similarity index 53% rename from resource/font/7x14B.bdf rename to resource/font/7x13B.bdf index a99d925..ee3828c 100644 --- a/resource/font/7x14B.bdf +++ b/resource/font/7x13B.bdf @@ -1,12 +1,16 @@ STARTFONT 2.1 -COMMENT -COMMENT Donated by H. Kagotani ; public domain -COMMENT font from Japan -COMMENT -FONT -Misc-Fixed-Bold-R-Normal--14-130-75-75-C-70-ISO8859-1 -SIZE 7 75 75 -FONTBOUNDINGBOX 7 14 0 -2 -STARTPROPERTIES 19 +COMMENT "" +COMMENT Designed by Stephen Gildea from original designs. +COMMENT November 1989 +COMMENT "" +COMMENT Characters above 127 designed and made by +COMMENT Thomas Bagli (pyramid!pcsbst!tom@uunet.UU.NET) +COMMENT PCS Computer Systeme, West Germany +COMMENT "" +FONT -Misc-Fixed-Bold-R-Normal--13-120-75-75-C-70-ISO8859-1 +SIZE 13 78 78 +FONTBOUNDINGBOX 7 13 0 -2 +STARTPROPERTIES 21 FONTNAME_REGISTRY "" FOUNDRY "Misc" FAMILY_NAME "Fixed" @@ -14,88 +18,267 @@ WEIGHT_NAME "Bold" SLANT "R" SETWIDTH_NAME "Normal" ADD_STYLE_NAME "" -PIXEL_SIZE 14 -POINT_SIZE 130 +PIXEL_SIZE 13 +POINT_SIZE 120 RESOLUTION_X 75 RESOLUTION_Y 75 SPACING "C" AVERAGE_WIDTH 70 CHARSET_REGISTRY "ISO8859" CHARSET_ENCODING "1" -DEFAULT_CHAR 32 +UNDERLINE_POSITION -1 +DESTINATION 1 +DEFAULT_CHAR 0 FONT_DESCENT 2 -FONT_ASCENT 12 +FONT_ASCENT 11 COPYRIGHT "Public domain font. Share and enjoy." ENDPROPERTIES -CHARS 209 -STARTCHAR 0001 +CHARS 224 +STARTCHAR C000 +ENCODING 0 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +7c +7c +7c +7c +7c +7c +7c +7c +7c +7c +7c +00 +ENDCHAR +STARTCHAR C001 ENCODING 1 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -18 -18 -3c -3c -7e -7e -3c -3c -18 -18 +00 +00 +00 +30 +78 +fc +78 +30 +00 00 00 ENDCHAR -STARTCHAR 0002 +STARTCHAR C002 ENCODING 2 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -76 -ee -dc -ba -76 -ee -dc -ba -76 -ee -dc -ba -76 -ee +00 +cc +30 +cc +30 +cc +30 +cc +30 +cc +30 +cc +00 ENDCHAR -STARTCHAR 000b +STARTCHAR C003 +ENCODING 3 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +d8 +d8 +f8 +d8 +d8 +00 +3c +18 +18 +18 +18 +00 +ENDCHAR +STARTCHAR C004 +ENCODING 4 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +f0 +c0 +e0 +c0 +c0 +00 +3c +30 +38 +30 +30 +00 +ENDCHAR +STARTCHAR C005 +ENCODING 5 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +70 +c0 +c0 +c0 +70 +00 +38 +34 +38 +34 +34 +00 +ENDCHAR +STARTCHAR C006 +ENCODING 6 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +c0 +c0 +c0 +c0 +f0 +00 +3c +30 +38 +30 +30 +00 +ENDCHAR +STARTCHAR C007 +ENCODING 7 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +78 +cc +cc +78 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR C010 +ENCODING 8 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +30 +30 +fc +fc +30 +30 +00 +fc +fc +00 +00 +ENDCHAR +STARTCHAR C011 +ENCODING 9 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +cc +ec +fc +dc +cc +00 +30 +30 +30 +30 +3c +00 +ENDCHAR +STARTCHAR C012 +ENCODING 10 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +cc +cc +48 +78 +30 +00 +3c +18 +18 +18 +18 +00 +ENDCHAR +STARTCHAR C013 ENCODING 11 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -18 -18 -18 -18 -18 -18 -f8 -f8 -00 +30 +30 +30 +30 +30 +30 +f0 +f0 00 00 00 00 00 ENDCHAR -STARTCHAR 000c +STARTCHAR C014 ENCODING 12 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -103,20 +286,19 @@ BITMAP 00 00 00 -f8 -f8 -18 -18 -18 -18 -18 -18 +f0 +f0 +30 +30 +30 +30 +30 ENDCHAR -STARTCHAR 000d +STARTCHAR C015 ENCODING 13 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -124,63 +306,62 @@ BITMAP 00 00 00 -1e -1e -18 -18 -18 -18 -18 -18 +3e +3e +30 +30 +30 +30 +30 ENDCHAR -STARTCHAR 000e +STARTCHAR C016 ENCODING 14 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -18 -18 -18 -18 -18 -18 -1e -1e -00 +30 +30 +30 +30 +30 +30 +3e +3e 00 00 00 00 00 ENDCHAR -STARTCHAR 000f +STARTCHAR C017 ENCODING 15 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -18 -18 -18 -18 -18 -18 +30 +30 +30 +30 +30 +30 fe fe -18 -18 -18 -18 -18 -18 +30 +30 +30 +30 +30 ENDCHAR -STARTCHAR 0010 +STARTCHAR C020 ENCODING 16 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP +00 +00 fe fe 00 @@ -192,19 +373,17 @@ fe 00 00 00 -00 -00 -00 ENDCHAR -STARTCHAR 0011 +STARTCHAR C021 ENCODING 17 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 +00 fe fe 00 @@ -214,14 +393,12 @@ fe 00 00 00 -00 -00 ENDCHAR -STARTCHAR 0012 +STARTCHAR C022 ENCODING 18 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -236,13 +413,12 @@ fe 00 00 00 -00 ENDCHAR -STARTCHAR 0013 +STARTCHAR C023 ENCODING 19 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -252,18 +428,17 @@ BITMAP 00 00 00 -00 fe fe 00 00 00 ENDCHAR -STARTCHAR 0014 +STARTCHAR C024 ENCODING 20 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -275,65 +450,62 @@ BITMAP 00 00 00 -00 -00 fe fe +00 ENDCHAR -STARTCHAR 0015 +STARTCHAR C025 ENCODING 21 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -18 -18 -18 -18 -18 -18 -1e -1e -18 -18 -18 -18 -18 -18 +30 +30 +30 +30 +30 +30 +3e +3e +30 +30 +30 +30 +30 ENDCHAR -STARTCHAR 0016 +STARTCHAR C026 ENCODING 22 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -18 -18 -18 -18 -18 -18 -f8 -f8 -18 -18 -18 -18 -18 -18 +30 +30 +30 +30 +30 +30 +f0 +f0 +30 +30 +30 +30 +30 ENDCHAR -STARTCHAR 0017 +STARTCHAR C027 ENCODING 23 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -18 -18 -18 -18 -18 -18 +30 +30 +30 +30 +30 +30 fe fe 00 @@ -341,13 +513,12 @@ fe 00 00 00 -00 ENDCHAR -STARTCHAR 0018 +STARTCHAR C030 ENCODING 24 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -357,39 +528,157 @@ BITMAP 00 fe fe -18 -18 -18 -18 -18 -18 +30 +30 +30 +30 +30 ENDCHAR -STARTCHAR 0019 +STARTCHAR C031 ENCODING 25 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 ENDCHAR -STARTCHAR 0020 +STARTCHAR C032 +ENCODING 26 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +0c +18 +60 +c0 +60 +18 +0c +fc +fc +00 +00 +ENDCHAR +STARTCHAR C033 +ENCODING 27 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +c0 +60 +18 +0c +18 +60 +c0 +fc +fc +00 +00 +ENDCHAR +STARTCHAR C034 +ENCODING 28 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +fc +6c +6c +6c +ec +cc +00 +00 +ENDCHAR +STARTCHAR C035 +ENCODING 29 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +04 +0c +fc +fc +30 +fc +fc +c0 +80 +00 +00 +ENDCHAR +STARTCHAR C036 +ENCODING 30 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +38 +6c +60 +60 +f8 +60 +60 +6c +b8 +00 +00 +ENDCHAR +STARTCHAR C037 +ENCODING 31 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +00 +30 +30 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR C040 ENCODING 32 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -404,38 +693,37 @@ BITMAP 00 00 00 -00 ENDCHAR -STARTCHAR 0021 +STARTCHAR ! ENCODING 33 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -18 -18 -18 -18 -18 -18 -18 +30 +30 +30 +30 +30 +30 00 -18 -18 +30 +30 00 00 ENDCHAR -STARTCHAR 0022 +STARTCHAR " ENCODING 34 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -7e -36 -36 +00 +00 +6c +6c 6c 00 00 @@ -445,106 +733,99 @@ BITMAP 00 00 00 -00 -00 ENDCHAR -STARTCHAR 0023 +STARTCHAR # ENCODING 35 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -1e -1e -1e -7e -3c -3c -7e -78 -78 -78 +28 +28 +7c +7c +28 +7c +7c +28 +28 00 00 ENDCHAR -STARTCHAR 0024 +STARTCHAR $ ENCODING 36 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -18 -3c -5a -5a -38 -1c -1a -5a -5a -3c -18 +30 +78 +b4 +b0 +78 +34 +b4 +78 +30 +00 00 ENDCHAR -STARTCHAR 0025 +STARTCHAR % ENCODING 37 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -36 -6e -6c -38 -08 -10 -1c -36 -76 -6c +e4 +ac +e8 +18 +30 +60 +5c +d4 +9c 00 00 ENDCHAR -STARTCHAR 0026 +STARTCHAR & ENCODING 38 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -1c -36 -36 -36 -1c -36 -6e -6c -6c -36 +70 +d8 +d8 +d8 +70 +d4 +dc +d8 +74 00 00 ENDCHAR -STARTCHAR 0027 +STARTCHAR ' ENCODING 39 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP +00 +00 +38 38 -18 -18 30 -00 -00 -00 +60 00 00 00 @@ -553,95 +834,91 @@ BITMAP 00 00 ENDCHAR -STARTCHAR 0028 +STARTCHAR ( ENCODING 40 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -06 -0c -18 +00 18 30 30 -30 +60 +60 +60 30 30 18 -18 -0c -06 +00 +00 ENDCHAR -STARTCHAR 0029 +STARTCHAR ) ENCODING 41 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +00 60 30 +30 18 18 -0c -0c -0c -0c -0c -18 18 30 +30 60 +00 +00 ENDCHAR -STARTCHAR 002a +STARTCHAR * ENCODING 42 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 -5a -5a -3c -18 -18 -3c -5a -5a +00 +48 +30 +fc +fc +30 +48 00 00 00 ENDCHAR -STARTCHAR 002b +STARTCHAR + ENCODING 43 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 -18 -18 -18 -7e -18 -18 -18 +30 +30 +fc +fc +30 +30 00 00 00 ENDCHAR -STARTCHAR 002c +STARTCHAR , ENCODING 44 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -651,18 +928,17 @@ BITMAP 00 00 00 -00 -00 38 -18 -18 +38 30 +60 +00 ENDCHAR -STARTCHAR 002d +STARTCHAR - ENCODING 45 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -670,20 +946,19 @@ BITMAP 00 00 00 -7e -7e -00 +fc +fc 00 00 00 00 00 ENDCHAR -STARTCHAR 002e +STARTCHAR . ENCODING 46 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -694,1012 +969,963 @@ BITMAP 00 00 00 -00 -18 -18 -00 +30 +78 +30 00 ENDCHAR -STARTCHAR 002f +STARTCHAR / ENCODING 47 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -06 -06 -06 +00 0c 0c 18 18 -18 -30 30 60 60 -60 +c0 +c0 +00 +00 ENDCHAR -STARTCHAR 0030 +STARTCHAR 0 ENCODING 48 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3c -66 -66 -66 -66 -66 -66 -66 -66 -3c +30 +48 +cc +cc +cc +cc +cc +48 +30 00 00 ENDCHAR -STARTCHAR 0031 +STARTCHAR 1 ENCODING 49 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -18 -38 -78 -18 -18 -18 -18 -18 -18 -7e +30 +70 +b0 +30 +30 +30 +30 +30 +fc 00 00 ENDCHAR -STARTCHAR 0032 +STARTCHAR 2 ENCODING 50 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3c -66 -66 -06 +78 +cc +cc 0c -0c -18 -30 +38 60 -7e +c0 +c0 +fc 00 00 ENDCHAR -STARTCHAR 0033 +STARTCHAR 3 ENCODING 51 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3c -66 -66 -06 -1c -06 -06 -66 -66 -3c +fc +0c +18 +30 +78 +0c +0c +cc +78 00 00 ENDCHAR -STARTCHAR 0034 +STARTCHAR 4 ENCODING 52 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -04 -0c 0c 1c 3c -2c 6c -7e -04 -04 +cc +cc +fc +0c +0c 00 00 ENDCHAR -STARTCHAR 0035 +STARTCHAR 5 ENCODING 53 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -7e -60 -60 -7c -66 -06 -06 -66 -66 -3c +fc +c0 +c0 +f8 +cc +0c +0c +cc +78 00 00 ENDCHAR -STARTCHAR 0036 +STARTCHAR 6 ENCODING 54 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -1c -36 -66 -60 -7c -66 -66 -66 -66 -3c +78 +cc +c0 +c0 +f8 +cc +cc +cc +78 00 00 ENDCHAR -STARTCHAR 0037 +STARTCHAR 7 ENCODING 55 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -7e -66 -6c +fc +0c 0c 18 18 -18 -18 -18 -18 +30 +30 +60 +60 00 00 ENDCHAR -STARTCHAR 0038 +STARTCHAR 8 ENCODING 56 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3c -66 -66 -3c -18 -3c -66 -66 -66 -3c +78 +cc +cc +cc +78 +cc +cc +cc +78 00 00 ENDCHAR -STARTCHAR 0039 +STARTCHAR 9 ENCODING 57 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3c -66 -66 -66 -66 -3e -06 -66 -6c -38 +78 +cc +cc +cc +7c +0c +0c +cc +78 00 00 ENDCHAR -STARTCHAR 003a +STARTCHAR : ENCODING 58 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 -18 -18 -00 -00 -00 -18 -18 +30 +78 +30 00 00 +30 +78 +30 00 ENDCHAR -STARTCHAR 003b +STARTCHAR ; ENCODING 59 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 -18 -18 -00 -00 -00 -38 -18 -18 +30 +78 30 00 +38 +38 +30 +60 +00 ENDCHAR -STARTCHAR 003c +STARTCHAR < ENCODING 60 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -00 -06 0c 18 30 60 +c0 +60 30 18 0c -06 00 00 ENDCHAR -STARTCHAR 003d +STARTCHAR = ENCODING 61 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 -7e -7e -00 -7e -7e +fc +fc 00 +fc +fc 00 00 00 00 ENDCHAR -STARTCHAR 003e +STARTCHAR > ENCODING 62 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -00 +c0 60 30 18 0c -06 -0c 18 30 60 +c0 00 00 ENDCHAR -STARTCHAR 003f +STARTCHAR ? ENCODING 63 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3c -66 -66 +78 +cc +cc 0c -18 -18 -18 +38 +30 00 -18 -18 +30 +30 00 00 ENDCHAR -STARTCHAR 0040 +STARTCHAR @ ENCODING 64 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -1c -36 -6e -7a -7a -7a -7a -6e -30 -1e +78 +8c +8c +bc +ac +bc +80 +8c +78 00 00 ENDCHAR -STARTCHAR 0041 +STARTCHAR A ENCODING 65 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3c -7e -66 -66 -66 -66 -7e -66 -66 -66 +78 +cc +cc +cc +fc +cc +cc +cc +cc 00 00 ENDCHAR -STARTCHAR 0042 +STARTCHAR B ENCODING 66 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -7c -66 -66 -64 -7c -66 -66 -66 -66 -7c +f8 +cc +cc +cc +f8 +cc +cc +cc +f8 00 00 ENDCHAR -STARTCHAR 0043 +STARTCHAR C ENCODING 67 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3c -66 -66 -60 -60 -60 -60 -66 -66 -3c +78 +cc +c0 +c0 +c0 +c0 +c0 +cc +78 00 00 ENDCHAR -STARTCHAR 0044 +STARTCHAR D ENCODING 68 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -78 -6c -66 -66 -66 -66 -66 -66 -6c -78 +f8 +cc +cc +cc +cc +cc +cc +cc +f8 00 00 ENDCHAR -STARTCHAR 0045 +STARTCHAR E ENCODING 69 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -7e -60 -60 -60 -7c -60 -60 -60 -60 -7e +fc +c0 +c0 +c0 +f8 +c0 +c0 +c0 +fc 00 00 ENDCHAR -STARTCHAR 0046 +STARTCHAR F ENCODING 70 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -7e -60 -60 -60 -7c -60 -60 -60 -60 -60 +fc +c0 +c0 +c0 +f8 +c0 +c0 +c0 +c0 00 00 ENDCHAR -STARTCHAR 0047 +STARTCHAR G ENCODING 71 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3c -66 -66 -60 -60 -6e -66 -66 -66 -3c +78 +cc +c0 +c0 +dc +cc +cc +cc +7c 00 00 ENDCHAR -STARTCHAR 0048 +STARTCHAR H ENCODING 72 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -66 -66 -66 -66 -7e -66 -66 -66 -66 -66 +cc +cc +cc +cc +fc +cc +cc +cc +cc 00 00 ENDCHAR -STARTCHAR 0049 +STARTCHAR I ENCODING 73 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -7e -18 -18 -18 -18 -18 -18 -18 -18 -7e +fc +30 +30 +30 +30 +30 +30 +30 +fc 00 00 ENDCHAR -STARTCHAR 004a +STARTCHAR J ENCODING 74 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -06 -06 -06 -06 -06 -06 -06 -66 -6c -38 +0c +0c +0c +0c +0c +0c +0c +cc +78 00 00 ENDCHAR -STARTCHAR 004b +STARTCHAR K ENCODING 75 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -66 -6c -78 -70 -70 -78 -78 -6c -66 -66 +c4 +cc +d8 +f0 +e0 +f0 +d8 +cc +c4 00 00 ENDCHAR -STARTCHAR 004c +STARTCHAR L ENCODING 76 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -60 -60 -60 -60 -60 -60 -60 -60 -60 -7e +c0 +c0 +c0 +c0 +c0 +c0 +c0 +c0 +fc 00 00 ENDCHAR -STARTCHAR 004d +STARTCHAR M ENCODING 77 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -42 -66 -66 -7e -7e -66 -66 -66 -66 -66 +84 +cc +fc +fc +cc +cc +cc +cc +cc 00 00 ENDCHAR -STARTCHAR 004e +STARTCHAR N ENCODING 78 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -66 -66 -76 -76 -76 -6e -6e -6e -66 -66 +cc +cc +ec +ec +fc +dc +dc +cc +cc 00 00 ENDCHAR -STARTCHAR 004f +STARTCHAR O ENCODING 79 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3c -66 -66 -66 -66 -66 -66 -66 -66 -3c +78 +cc +cc +cc +cc +cc +cc +cc +78 00 00 ENDCHAR -STARTCHAR 0050 +STARTCHAR P ENCODING 80 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -7c -66 -66 -66 -66 -7c -60 -60 -60 -60 +f8 +cc +cc +cc +f8 +c0 +c0 +c0 +c0 00 00 ENDCHAR -STARTCHAR 0051 +STARTCHAR Q ENCODING 81 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3c -66 -66 -66 -66 -66 -76 -6e -66 -3c -06 -02 +78 +cc +cc +cc +cc +cc +ec +dc +78 +0c +00 ENDCHAR -STARTCHAR 0052 +STARTCHAR R ENCODING 82 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -7c -66 -66 -66 -7c -6c -66 -66 -66 -66 +f8 +cc +cc +cc +f8 +f0 +d8 +cc +c4 00 00 ENDCHAR -STARTCHAR 0053 +STARTCHAR S ENCODING 83 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3c -66 -66 -30 -18 -18 +78 +cc +c0 +c0 +78 0c -66 -66 -3c +0c +cc +78 00 00 ENDCHAR -STARTCHAR 0054 +STARTCHAR T ENCODING 84 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -7e -18 -18 -18 -18 -18 -18 -18 -18 -18 +fc +30 +30 +30 +30 +30 +30 +30 +30 00 00 ENDCHAR -STARTCHAR 0055 +STARTCHAR U ENCODING 85 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -66 -66 -66 -66 -66 -66 -66 -66 -66 -3c +cc +cc +cc +cc +cc +cc +cc +cc +78 00 00 ENDCHAR -STARTCHAR 0056 +STARTCHAR V ENCODING 86 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -66 -66 -66 -66 -66 -66 -66 -3c -3c -18 +cc +cc +cc +48 +48 +78 +30 +30 +30 00 00 ENDCHAR -STARTCHAR 0057 +STARTCHAR W ENCODING 87 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -66 -66 -66 -66 -66 -7e -7e -7e -7e -24 +cc +cc +cc +cc +cc +fc +fc +cc +84 00 00 ENDCHAR -STARTCHAR 0058 +STARTCHAR X ENCODING 88 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -66 -66 -3c -3c -18 -18 -3c -3c -66 -66 +84 +cc +48 +78 +30 +78 +48 +cc +84 00 00 ENDCHAR -STARTCHAR 0059 +STARTCHAR Y ENCODING 89 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -66 -66 -66 -3c -3c -18 -18 -18 -18 -18 +cc +cc +78 +78 +30 +30 +30 +30 +30 00 00 ENDCHAR -STARTCHAR 005a +STARTCHAR Z ENCODING 90 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -7e -06 +fc 0c 0c 18 -18 -30 30 60 -7e +c0 +c0 +fc 00 00 ENDCHAR -STARTCHAR 005b +STARTCHAR [ ENCODING 91 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -3e -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -3e +00 +78 +60 +60 +60 +60 +60 +60 +60 +78 +00 +00 ENDCHAR -STARTCHAR 005c +STARTCHAR \ ENCODING 92 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -60 +00 +c0 +c0 60 60 30 -30 -18 18 18 0c 0c -06 -06 -06 +00 +00 ENDCHAR -STARTCHAR 005d +STARTCHAR ] ENCODING 93 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -7c -0c -0c -0c -0c -0c -0c -0c -0c -0c -0c -0c -7c +00 +78 +18 +18 +18 +18 +18 +18 +18 +78 +00 +00 ENDCHAR -STARTCHAR 005e +STARTCHAR ^ ENCODING 94 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -18 -3c -66 -00 -00 00 00 +30 +78 +cc +84 00 00 00 @@ -1708,11 +1934,11 @@ BITMAP 00 00 ENDCHAR -STARTCHAR 005f +STARTCHAR _ ENCODING 95 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -1724,24 +1950,22 @@ BITMAP 00 00 00 +fc +fc 00 -00 -7e -7e ENDCHAR -STARTCHAR 0060 +STARTCHAR ` ENCODING 96 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -1c +00 +00 +70 +70 +30 18 -18 -0c -00 -00 -00 00 00 00 @@ -1750,200 +1974,191 @@ BITMAP 00 00 ENDCHAR -STARTCHAR 0061 +STARTCHAR a ENCODING 97 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 00 -3c -66 -0e -36 -66 -66 -3e +78 +0c +7c +cc +cc +7c 00 00 ENDCHAR -STARTCHAR 0062 +STARTCHAR b ENCODING 98 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -60 -60 -60 -7c -66 -66 -66 -66 -66 -7c +c0 +c0 +c0 +f8 +cc +cc +cc +cc +f8 00 00 ENDCHAR -STARTCHAR 0063 +STARTCHAR c ENCODING 99 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 00 -3c -66 -60 -60 -60 -66 -3c +78 +cc +c0 +c0 +cc +78 00 00 ENDCHAR -STARTCHAR 0064 +STARTCHAR d ENCODING 100 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -06 -06 -06 -3e -66 -66 -66 -66 -66 -3e +0c +0c +0c +7c +cc +cc +cc +cc +7c 00 00 ENDCHAR -STARTCHAR 0065 +STARTCHAR e ENCODING 101 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 00 -3c -66 -66 -7e -60 -66 -3c +78 +cc +fc +c0 +cc +78 00 00 ENDCHAR -STARTCHAR 0066 +STARTCHAR f ENCODING 102 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -0c -1e -18 -18 -7e -18 -18 -18 -18 -18 +38 +6c +60 +60 +f0 +60 +60 +60 +60 00 00 ENDCHAR -STARTCHAR 0067 +STARTCHAR g ENCODING 103 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 00 -3a -6e -6c -6c -38 -20 -7c -66 -3c +74 +cc +cc +78 +c0 +78 +cc +78 ENDCHAR -STARTCHAR 0068 +STARTCHAR h ENCODING 104 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -60 -60 -60 -7c -66 -66 -66 -66 -66 -66 +c0 +c0 +c0 +f8 +cc +cc +cc +cc +cc 00 00 ENDCHAR -STARTCHAR 0069 +STARTCHAR i ENCODING 105 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -18 -18 +30 +30 00 -18 -18 -18 -18 -18 -18 -18 +70 +30 +30 +30 +30 +fc 00 00 ENDCHAR -STARTCHAR 006a +STARTCHAR j ENCODING 106 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -1956,421 +2171,400 @@ BITMAP 0c 0c 0c -0c -6c -38 +cc +78 ENDCHAR -STARTCHAR 006b +STARTCHAR k ENCODING 107 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -60 -60 -60 -64 -6c -78 -78 -6c -66 -62 +c0 +c0 +c0 +cc +d8 +f0 +f0 +d8 +cc 00 00 ENDCHAR -STARTCHAR 006c +STARTCHAR l ENCODING 108 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -00 -00 -ENDCHAR -STARTCHAR 006d -ENCODING 109 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -6c -7e -7e -7e -7e -7e -7e -00 -00 -ENDCHAR -STARTCHAR 006e -ENCODING 110 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -7c -66 -66 -66 -66 -66 -66 -00 -00 -ENDCHAR -STARTCHAR 006f -ENCODING 111 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -3c -66 -66 -66 -66 -66 -3c -00 -00 -ENDCHAR -STARTCHAR 0070 -ENCODING 112 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -7c -66 -66 -66 -66 -66 -7c -60 -60 -ENDCHAR -STARTCHAR 0071 -ENCODING 113 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -3e -66 -66 -66 -66 -66 -3e -06 -06 -ENDCHAR -STARTCHAR 0072 -ENCODING 114 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -7c -66 -66 -60 -60 -60 -60 -00 -00 -ENDCHAR -STARTCHAR 0073 -ENCODING 115 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -3c -66 +70 30 -18 -0c -66 -3c +30 +30 +30 +30 +30 +30 +fc 00 00 ENDCHAR -STARTCHAR 0074 +STARTCHAR m +ENCODING 109 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +d8 +fc +fc +cc +cc +cc +00 +00 +ENDCHAR +STARTCHAR n +ENCODING 110 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +f8 +cc +cc +cc +cc +cc +00 +00 +ENDCHAR +STARTCHAR o +ENCODING 111 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +78 +cc +cc +cc +cc +78 +00 +00 +ENDCHAR +STARTCHAR p +ENCODING 112 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +f8 +cc +cc +cc +f8 +c0 +c0 +c0 +ENDCHAR +STARTCHAR q +ENCODING 113 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +7c +cc +cc +cc +7c +0c +0c +0c +ENDCHAR +STARTCHAR r +ENCODING 114 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +f8 +cc +c0 +c0 +c0 +c0 +00 +00 +ENDCHAR +STARTCHAR s +ENCODING 115 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +78 +cc +60 +18 +cc +78 +00 +00 +ENDCHAR +STARTCHAR t ENCODING 116 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -18 -18 -18 -7e -18 -18 -18 -18 -18 -0e -00 -00 -ENDCHAR -STARTCHAR 0075 -ENCODING 117 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 -00 -00 -66 -66 -66 -66 -66 -66 -3e -00 -00 -ENDCHAR -STARTCHAR 0076 -ENCODING 118 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -66 -66 -66 -3c -3c -18 -18 -00 -00 -ENDCHAR -STARTCHAR 0077 -ENCODING 119 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -66 -66 -7e -7e -7e -7e -24 -00 -00 -ENDCHAR -STARTCHAR 0078 -ENCODING 120 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -66 -66 -3c -18 -3c -66 -66 -00 -00 -ENDCHAR -STARTCHAR 0079 -ENCODING 121 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -00 -00 -00 -00 -66 -66 -36 -36 -1c -1c -0c +60 +60 +f8 +60 +60 +60 6c 38 +00 +00 ENDCHAR -STARTCHAR 007a -ENCODING 122 -SWIDTH 480 0 +STARTCHAR u +ENCODING 117 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 00 -7e -06 +cc +cc +cc +cc +cc +7c +00 +00 +ENDCHAR +STARTCHAR v +ENCODING 118 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +cc +cc +cc +78 +78 +30 +00 +00 +ENDCHAR +STARTCHAR w +ENCODING 119 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +cc +cc +cc +fc +fc +48 +00 +00 +ENDCHAR +STARTCHAR x +ENCODING 120 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +cc +cc +78 +78 +cc +cc +00 +00 +ENDCHAR +STARTCHAR y +ENCODING 121 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +cc +cc +cc +cc +7c +0c +cc +78 +ENDCHAR +STARTCHAR z +ENCODING 122 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +00 +00 +00 +fc 0c 18 +60 +c0 +fc +00 +00 +ENDCHAR +STARTCHAR { +ENCODING 123 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +38 +60 +60 30 60 -7e +30 +60 +60 +38 00 00 ENDCHAR -STARTCHAR 007b -ENCODING 123 -SWIDTH 480 0 +STARTCHAR | +ENCODING 124 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -0e -18 -18 -18 +00 +30 +30 +30 +30 +30 +30 +30 +30 +30 +00 +00 +ENDCHAR +STARTCHAR } +ENCODING 125 +SWIDTH 570 0 +DWIDTH 7 0 +BBX 7 13 0 -2 +BITMAP +00 +00 +70 18 18 30 18 -18 -18 -18 -18 -0e -ENDCHAR -STARTCHAR 007c -ENCODING 124 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -ENDCHAR -STARTCHAR 007d -ENCODING 125 -SWIDTH 480 0 -DWIDTH 7 0 -BBX 7 14 0 -2 -BITMAP -00 -70 -18 -18 -18 -18 -18 -0c -18 -18 -18 +30 18 18 70 +00 +00 ENDCHAR -STARTCHAR 007e +STARTCHAR ~ ENCODING 126 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -20 -7e -7e -04 00 +64 +fc +98 00 00 00 @@ -2380,11 +2574,11 @@ BITMAP 00 00 ENDCHAR -STARTCHAR 007f +STARTCHAR C177 ENCODING 127 -SWIDTH 480 0 +SWIDTH 570 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -2399,13 +2593,12 @@ BITMAP 00 00 00 -00 ENDCHAR STARTCHAR 00a0 ENCODING 160 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -2420,160 +2613,152 @@ BITMAP 00 00 00 -00 ENDCHAR STARTCHAR 00a1 ENCODING 161 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +30 +30 00 -18 -18 -00 -18 -18 -18 -18 -18 -18 -18 +30 +30 +30 +30 +30 +30 +30 00 00 ENDCHAR STARTCHAR 00a2 ENCODING 162 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 +10 +7c +d4 +d0 +d0 +d4 +7c +10 00 00 -18 -3e -5a -58 -58 -58 -5a -3e -18 00 ENDCHAR STARTCHAR 00a3 ENCODING 163 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -00 -1c -36 -30 -30 -78 -30 -30 -7c -36 +38 +6c +60 +60 +f8 +60 +60 +6c +b8 00 00 ENDCHAR STARTCHAR 00a4 ENCODING 164 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 -66 -3c -34 -2c -3c -66 -00 +cc +fc +48 +48 +fc +cc 00 00 00 ENDCHAR STARTCHAR 00a5 ENCODING 165 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -42 -66 -3c -7e -18 -18 -7e -18 -18 -18 +cc +cc +78 +78 +fc +30 +fc +30 +30 00 00 ENDCHAR STARTCHAR 00a6 ENCODING 166 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -00 -18 -18 -18 -18 +30 +30 +30 +30 00 00 -18 -18 -18 -18 +30 +30 +30 +30 00 00 ENDCHAR STARTCHAR 00a7 ENCODING 167 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -3c -66 -30 -18 -3c -66 -3c -18 +78 +cc +c0 +78 +cc +cc +78 0c -66 -3c +cc +78 00 00 ENDCHAR STARTCHAR 00a8 ENCODING 168 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 6c @@ -2588,45 +2773,42 @@ BITMAP 00 00 00 -00 ENDCHAR STARTCHAR 00a9 ENCODING 169 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -3c -66 -7e -76 -76 -76 -76 -76 -7e -66 -3c +78 +cc +84 +b4 +e4 +e4 +b4 +84 +cc +78 00 00 ENDCHAR STARTCHAR 00aa ENCODING 170 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -1c -36 -1e -36 -36 -1e 00 -3e +78 +0c +7c +4c +7c 00 +7c 00 00 00 @@ -2634,62 +2816,59 @@ BITMAP ENDCHAR STARTCHAR 00ab ENCODING 171 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 +34 +68 +d0 +a0 +d0 +68 +34 00 00 -0e -1e -3c -78 -3c -1e -0e -00 00 ENDCHAR STARTCHAR 00ac ENCODING 172 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 00 -00 -00 fc fc -0c -0c -0c +04 +04 +00 +00 00 00 ENDCHAR STARTCHAR 00ad ENCODING 173 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 00 +7c +7c 00 00 -f0 -f0 -00 00 00 00 @@ -2697,35 +2876,33 @@ f0 ENDCHAR STARTCHAR 00ae ENCODING 174 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -3c -66 -7e -76 -76 -7e -76 -76 -76 -66 -3c +78 +cc +84 +bc +ac +bc +b4 +ac +cc +78 00 00 ENDCHAR STARTCHAR 00af ENCODING 175 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -00 -f0 -f0 +7c +7c 00 00 00 @@ -2739,17 +2916,16 @@ f0 ENDCHAR STARTCHAR 00b0 ENCODING 176 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -38 -6c -6c -38 -00 00 +78 +cc +cc +78 00 00 00 @@ -2760,39 +2936,37 @@ BITMAP ENDCHAR STARTCHAR 00b1 ENCODING 177 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 +30 +30 +fc +fc +30 +30 00 -00 -00 -00 -18 -18 -7e -18 -18 -7e +fc +fc 00 00 ENDCHAR STARTCHAR 00b2 ENCODING 178 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -38 -6c -0c -18 +e0 +b0 30 60 -7c +c0 +f0 00 00 00 @@ -2802,18 +2976,17 @@ BITMAP ENDCHAR STARTCHAR 00b3 ENCODING 179 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -38 -6c -0c -38 -0c -6c -38 +e0 +b0 +60 +30 +b0 +e0 00 00 00 @@ -2823,15 +2996,14 @@ BITMAP ENDCHAR STARTCHAR 00b4 ENCODING 180 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -0c 18 30 -60 +00 00 00 00 @@ -2844,60 +3016,57 @@ BITMAP ENDCHAR STARTCHAR 00b5 ENCODING 181 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 00 +cc +cc +cc +cc +cc +fc +80 00 -66 -66 -66 -66 -6e -7e -60 -60 ENDCHAR STARTCHAR 00b6 ENCODING 182 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3e -76 -76 -76 -76 -36 -16 -16 -16 -16 -16 -1e +7c +fc +f4 +f4 +f4 +74 +34 +34 +34 +00 +00 ENDCHAR STARTCHAR 00b7 ENCODING 183 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 00 -18 -18 -00 +30 +30 00 00 00 @@ -2907,9 +3076,9 @@ BITMAP ENDCHAR STARTCHAR 00b8 ENCODING 184 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 @@ -2922,24 +3091,22 @@ BITMAP 00 00 00 -18 -18 30 +60 ENDCHAR STARTCHAR 00b9 ENCODING 185 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -00 -30 -70 -30 -30 -30 -30 +60 +e0 +60 +60 +60 +f0 00 00 00 @@ -2949,19 +3116,18 @@ BITMAP ENDCHAR STARTCHAR 00ba ENCODING 186 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +38 +7c +44 +7c +38 00 -1c -36 -36 -1c -00 -3e -00 +7c 00 00 00 @@ -2970,1451 +3136,1382 @@ BITMAP ENDCHAR STARTCHAR 00bb ENCODING 187 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 +b0 +58 +2c +14 +2c +58 +b0 00 00 -70 -38 -1c -0e -1c -38 -70 -00 00 ENDCHAR STARTCHAR 00bc ENCODING 188 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -00 -32 -76 +60 +e0 +60 +60 +64 +fc +1c 34 3c -3c -1a -36 -2e -6e -46 +0c 00 00 ENDCHAR STARTCHAR 00bd ENCODING 189 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -00 -32 -76 -34 +60 +e0 +60 +60 +78 +ec +0c +18 +30 3c -3c -1c -3a -26 -6c -4e 00 00 ENDCHAR STARTCHAR 00be ENCODING 190 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -00 -62 -36 -74 +e0 +b0 +60 +30 +b4 +ec +1c +34 3c -78 -1e -36 -6e -4e -06 +0c 00 00 ENDCHAR STARTCHAR 00bf ENCODING 191 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +30 +30 +00 +30 +30 +60 +c0 +cc +cc +78 00 00 -0c -0c -00 -0c -0c -0c -0c -0c -66 -66 -3c ENDCHAR STARTCHAR 00c0 ENCODING 192 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -38 -1c 00 -3c -7e -66 -66 -66 -7e -66 -66 -66 +30 +18 +00 +30 +78 +cc +cc +fc +cc +cc 00 00 ENDCHAR STARTCHAR 00c1 ENCODING 193 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -1c -38 00 -3c -7e -66 -66 -66 -7e -66 -66 -66 +18 +30 +00 +30 +78 +cc +cc +fc +cc +cc 00 00 ENDCHAR STARTCHAR 00c2 ENCODING 194 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -18 -3c 00 -3c -7e -66 -66 -66 -7e -66 -66 -66 +70 +d8 +00 +30 +78 +cc +cc +fc +cc +cc 00 00 ENDCHAR STARTCHAR 00c3 ENCODING 195 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -14 -28 00 -3c -7e -66 -66 -66 -7e -66 -66 -66 +68 +b0 +00 +30 +78 +cc +cc +fc +cc +cc 00 00 ENDCHAR STARTCHAR 00c4 ENCODING 196 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -24 -24 00 -3c -7e -66 -66 -66 -7e -66 -66 -66 +cc +cc +00 +30 +78 +cc +cc +fc +cc +cc 00 00 ENDCHAR STARTCHAR 00c5 ENCODING 197 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -18 -18 00 -3c -7e -66 -66 -66 -7e -66 -66 -66 +78 +48 +78 +30 +78 +cc +cc +fc +cc +cc 00 00 ENDCHAR STARTCHAR 00c6 ENCODING 198 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -7e -d8 +7c +f8 d8 d8 dc f8 d8 d8 -d8 -de +dc 00 00 ENDCHAR STARTCHAR 00c7 ENCODING 199 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -3c -66 -66 -60 -60 -60 -60 -66 -66 -3c -18 +78 +cc +c0 +c0 +c0 +c0 +c0 +cc +78 30 +60 ENDCHAR STARTCHAR 00c8 ENCODING 200 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -38 -1c 00 -7e -60 -60 -60 -7c -60 -60 -60 -7e +30 +18 +00 +fc +c0 +c0 +f0 +c0 +c0 +fc 00 00 ENDCHAR STARTCHAR 00c9 ENCODING 201 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -1c -38 00 -7e -60 -60 -60 -7c -60 -60 -60 -7e +18 +30 +00 +fc +c0 +c0 +f0 +c0 +c0 +fc 00 00 ENDCHAR STARTCHAR 00ca ENCODING 202 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -18 -3c 00 -7e -60 -60 -60 -7c -60 -60 -60 -7e +70 +d8 +00 +fc +c0 +c0 +f0 +c0 +c0 +fc 00 00 ENDCHAR STARTCHAR 00cb ENCODING 203 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -24 -24 00 -7e -60 -60 -60 -7c -60 -60 -60 -7e +cc +cc +00 +fc +c0 +c0 +f0 +c0 +c0 +fc 00 00 ENDCHAR STARTCHAR 00cc ENCODING 204 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -38 -1c 00 -7e +30 18 -18 -18 -18 -18 -18 -18 -7e +00 +fc +30 +30 +30 +30 +30 +fc 00 00 ENDCHAR STARTCHAR 00cd ENCODING 205 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -1c -38 00 -7e 18 -18 -18 -18 -18 -18 -18 -7e +30 +00 +fc +30 +30 +30 +30 +30 +fc 00 00 ENDCHAR STARTCHAR 00ce ENCODING 206 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -18 -3c 00 -7e -18 -18 -18 -18 -18 -18 -18 -7e +70 +d8 +00 +fc +30 +30 +30 +30 +30 +fc 00 00 ENDCHAR STARTCHAR 00cf ENCODING 207 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -24 -24 00 -7e -18 -18 -18 -18 -18 -18 -18 -7e +cc +cc +00 +fc +30 +30 +30 +30 +30 +fc 00 00 ENDCHAR STARTCHAR 00d0 ENCODING 208 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -78 +f8 6c -66 -66 -fe -66 -66 -66 6c -78 +6c +ec +6c +6c +6c +f8 00 00 ENDCHAR STARTCHAR 00d1 ENCODING 209 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -14 -28 00 -66 -76 -76 -76 -6e -6e -6e -66 -66 +68 +b0 +00 +cc +cc +ec +fc +dc +cc +cc 00 00 ENDCHAR STARTCHAR 00d2 ENCODING 210 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -38 -1c 00 -3c -66 -66 -66 -66 -66 -66 -66 -3c +30 +18 +00 +78 +cc +cc +cc +cc +cc +78 00 00 ENDCHAR STARTCHAR 00d3 ENCODING 211 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -1c -38 00 -3c -66 -66 -66 -66 -66 -66 -66 -3c +18 +30 +00 +78 +cc +cc +cc +cc +cc +78 00 00 ENDCHAR STARTCHAR 00d4 ENCODING 212 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -18 -3c 00 -3c -66 -66 -66 -66 -66 -66 -66 -3c +70 +d8 +00 +78 +cc +cc +cc +cc +cc +78 00 00 ENDCHAR STARTCHAR 00d5 ENCODING 213 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -14 -28 00 -3c -66 -66 -66 -66 -66 -66 -66 -3c +68 +b0 +00 +78 +cc +cc +cc +cc +cc +78 00 00 ENDCHAR STARTCHAR 00d6 ENCODING 214 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -24 -24 00 -3c -66 -66 -66 -66 -66 -66 -66 -3c +cc +cc +00 +78 +cc +cc +cc +cc +cc +78 00 00 ENDCHAR STARTCHAR 00d7 ENCODING 215 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 00 -c6 -6c -38 -38 -6c -c6 -82 +cc +78 +30 +78 +cc +00 00 00 ENDCHAR STARTCHAR 00d8 ENCODING 216 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -02 -02 -3c -6e -6e -6e -6e -76 -76 -76 -76 -3c -40 -40 +00 +00 +04 +78 +dc +dc +dc +ec +ec +ec +78 +80 +00 ENDCHAR STARTCHAR 00d9 ENCODING 217 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -38 -1c 00 -66 -66 -66 -66 -66 -66 -66 -66 -3c +30 +18 +00 +cc +cc +cc +cc +cc +cc +78 00 00 ENDCHAR STARTCHAR 00da ENCODING 218 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -1c -38 00 -66 -66 -66 -66 -66 -66 -66 -66 -3c +18 +30 +00 +cc +cc +cc +cc +cc +cc +78 00 00 ENDCHAR STARTCHAR 00db ENCODING 219 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -18 -3c 00 -66 -66 -66 -66 -66 -66 -66 -66 -3c +70 +d8 +00 +cc +cc +cc +cc +cc +cc +78 00 00 ENDCHAR STARTCHAR 00dc ENCODING 220 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -24 -24 00 -66 -66 -66 -66 -66 -66 -66 -66 -3c +cc +cc +00 +cc +cc +cc +cc +cc +cc +78 00 00 ENDCHAR STARTCHAR 00dd ENCODING 221 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP -1c -38 00 -66 -66 -66 -3c -3c -3c -18 -18 18 +30 +00 +cc +48 +78 +30 +30 +30 +30 00 00 ENDCHAR STARTCHAR 00de ENCODING 222 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -60 -60 -7c -66 -66 -66 -66 -7c -60 -60 +c0 +f8 +cc +cc +cc +f8 +c0 +c0 +c0 00 00 ENDCHAR STARTCHAR 00df ENCODING 223 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -1c -36 -36 -36 -3c -36 -36 -36 -36 -7c 00 +78 +cc +cc +f8 +cc +cc +cc +f8 +80 00 ENDCHAR STARTCHAR 00e0 ENCODING 224 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 30 18 -0c 00 -3c -66 -1e -36 -66 -66 -3e +00 +78 +0c +7c +cc +dc +7c 00 00 ENDCHAR STARTCHAR 00e1 ENCODING 225 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -0c 18 30 00 -3c -66 -1e -36 -66 -66 -3e +00 +78 +0c +7c +cc +dc +7c 00 00 ENDCHAR STARTCHAR 00e2 ENCODING 226 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +70 +d8 00 -18 -3c 00 -3c -66 -1e -36 -66 -66 -3e +78 +0c +7c +cc +dc +7c 00 00 ENDCHAR STARTCHAR 00e3 ENCODING 227 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +68 +b0 00 -14 -28 00 -3c -66 -1e -36 -66 -66 -3e +78 +0c +7c +cc +dc +7c 00 00 ENDCHAR STARTCHAR 00e4 ENCODING 228 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +6c +6c 00 -24 -24 00 -3c -66 -1e -36 -66 -66 -3e +78 +0c +7c +cc +dc +7c 00 00 ENDCHAR STARTCHAR 00e5 ENCODING 229 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -18 -3c -18 +38 +28 +38 00 -3c -66 -1e -36 -66 -66 -3e +78 +0c +7c +cc +dc +7c 00 00 ENDCHAR STARTCHAR 00e6 ENCODING 230 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 00 +78 +34 7c -da -3a -5e -d8 -de -7c +b0 +b4 +68 00 00 ENDCHAR STARTCHAR 00e7 ENCODING 231 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 00 00 -3c -66 -60 -60 -60 -66 -3c -18 +78 +cc +c0 +c0 +cc +78 30 +60 ENDCHAR STARTCHAR 00e8 ENCODING 232 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 30 18 -0c 00 -3c -66 -66 -7e -60 -66 -3c +00 +78 +cc +fc +c0 +cc +78 00 00 ENDCHAR STARTCHAR 00e9 ENCODING 233 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -0c 18 30 00 -3c -66 -66 -7e -60 -66 -3c +00 +78 +cc +fc +c0 +cc +78 00 00 ENDCHAR STARTCHAR 00ea ENCODING 234 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +70 +d8 00 -18 -3c 00 -3c -66 -66 -7e -60 -66 -3c +78 +cc +fc +c0 +cc +78 00 00 ENDCHAR STARTCHAR 00eb ENCODING 235 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +6c +6c 00 -24 -24 00 -3c -66 -66 -7e -60 -66 -3c +78 +cc +fc +c0 +cc +78 00 00 ENDCHAR STARTCHAR 00ec ENCODING 236 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 30 18 -0c 00 -18 -18 -18 -18 -18 -18 -18 +00 +70 +30 +30 +30 +30 +78 00 00 ENDCHAR STARTCHAR 00ed ENCODING 237 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -0c 18 30 00 -18 -18 -18 -18 -18 -18 -18 +00 +70 +30 +30 +30 +30 +78 00 00 ENDCHAR STARTCHAR 00ee ENCODING 238 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +70 +d8 00 -18 -3c 00 -18 -18 -18 -18 -18 -18 -18 +70 +30 +30 +30 +30 +78 00 00 ENDCHAR STARTCHAR 00ef ENCODING 239 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +6c +6c 00 -24 -24 00 -18 -18 -18 -18 -18 -18 -18 +70 +30 +30 +30 +30 +78 00 00 ENDCHAR STARTCHAR 00f0 ENCODING 240 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -28 -10 -2c -0c -3c -6c -6c -6c -6c -6c -38 +48 +30 +30 +50 +78 +cc +cc +cc +cc +78 00 00 ENDCHAR STARTCHAR 00f1 ENCODING 241 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +68 +b0 00 -14 -28 00 -7c -66 -66 -66 -66 -66 -66 +f8 +ec +cc +cc +cc +cc 00 00 ENDCHAR STARTCHAR 00f2 ENCODING 242 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 30 18 -0c 00 -3c -66 -66 -66 -66 -66 -3c +00 +78 +cc +cc +cc +cc +78 00 00 ENDCHAR STARTCHAR 00f3 ENCODING 243 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -0c 18 30 00 -3c -66 -66 -66 -66 -66 -3c +00 +78 +cc +cc +cc +cc +78 00 00 ENDCHAR STARTCHAR 00f4 ENCODING 244 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +70 +d8 00 -18 -3c 00 -3c -66 -66 -66 -66 -66 -3c +78 +cc +cc +cc +cc +78 00 00 ENDCHAR STARTCHAR 00f5 ENCODING 245 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +68 +b0 00 -14 -28 00 -3c -66 -66 -66 -66 -66 -3c +78 +cc +cc +cc +cc +78 00 00 ENDCHAR STARTCHAR 00f6 ENCODING 246 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +6c +6c 00 -24 -24 00 -3c -66 -66 -66 -66 -66 -3c +78 +cc +cc +cc +cc +78 00 00 ENDCHAR STARTCHAR 00f7 ENCODING 247 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 -00 -00 -00 -00 +30 30 00 fc 00 30 +30 +00 00 00 ENDCHAR STARTCHAR 00f8 ENCODING 248 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 00 -02 04 -3c -6e -6e -76 -76 -66 -3c -40 -40 +78 +cc +dc +cc +ec +cc +78 +80 +00 ENDCHAR STARTCHAR 00f9 ENCODING 249 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -20 30 18 -08 -66 -66 -66 -66 -66 -66 -3e +00 +00 +cc +cc +cc +cc +dc +7c 00 00 ENDCHAR STARTCHAR 00fa ENCODING 250 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -04 -0c 18 -10 -66 -66 -66 -66 -66 -66 -3e +30 +00 +00 +cc +cc +cc +cc +dc +7c 00 00 ENDCHAR STARTCHAR 00fb ENCODING 251 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +70 +d8 00 -18 -3c 00 -66 -66 -66 -66 -66 -66 -3e +cc +cc +cc +cc +dc +7c 00 00 ENDCHAR STARTCHAR 00fc ENCODING 252 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +6c +6c 00 -24 -24 00 -66 -66 -66 -66 -66 -66 -3e +cc +cc +cc +cc +dc +7c 00 00 ENDCHAR STARTCHAR 00fd ENCODING 253 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 -04 -0c 18 -10 -66 -66 -66 -3c -1c -1c -18 -78 30 +00 +00 +cc +cc +cc +dc +7c +0c +cc +78 ENDCHAR STARTCHAR 00fe ENCODING 254 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 00 -60 -60 -60 -7c -66 -66 -66 -66 -66 -7c -60 -60 +00 +c0 +c0 +f8 +ec +cc +cc +ec +f8 +c0 +c0 ENDCHAR STARTCHAR 00ff ENCODING 255 -SWIDTH 480 0 +SWIDTH 666 0 DWIDTH 7 0 -BBX 7 14 0 -2 +BBX 7 13 0 -2 BITMAP 00 +6c +6c 00 -24 -24 00 -66 -66 -66 -3c -1c -1c -18 +cc +cc +cc +dc +7c +0c +cc 78 -30 ENDCHAR ENDFONT diff --git a/src/abstract/charset.c b/src/abstract/charset.c index 2c339d5..4b831d5 100644 --- a/src/abstract/charset.c +++ b/src/abstract/charset.c @@ -2,8 +2,7 @@ char* MwACPTextToUTF8Text(const char* input) { #if defined(_WIN32) && defined(MW_HAS_WCHAR) - int mbbytes = (strlen(input) + 1) * 4; - int wbytes = 0; + int wbytes = 0; int len; wchar_t* wout; @@ -39,7 +38,6 @@ char* MwACPTextToUTF8Text(const char* input) { char* MwUTF8TextToACPText(const char* input) { #if defined(_WIN32) && defined(MW_HAS_WCHAR) int mbbytes = (strlen(input) + 1) * 4; - int wbytes = 0; int len; wchar_t* wout; diff --git a/src/abstract/directory.c b/src/abstract/directory.c index d7b364f..63146b1 100644 --- a/src/abstract/directory.c +++ b/src/abstract/directory.c @@ -206,11 +206,13 @@ static void MwDirectoryJoinSingle(char* target, char* p) { } char* MwDirectoryJoin(char* a, char* b) { - char* p = MwStringDuplicate(a); + char* p = malloc(strlen(a) + 3 + strlen(b)); char* bdup = MwStringDuplicate(b); char* b2 = bdup; int i; + strcpy(p, a); + for(i = strlen(p) - 1; i >= 0; i--) { if(p[i] == DIRSEP) { p[i] = 0; diff --git a/src/backend/gdi.c b/src/backend/gdi.c index eace1d3..660a0fc 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -1000,11 +1000,11 @@ static void MwLLMakeToolWindowImpl(MwLL handle) { RECT rc; int w, h; + GetClientRect(handle->gdi.hWnd, &rc); + SetWindowLongPtr(handle->gdi.hWnd, GWL_STYLE, (LPARAM)lp); SetWindowLongPtr(handle->gdi.hWnd, GWL_EXSTYLE, (LPARAM)WS_EX_TOOLWINDOW); - GetClientRect(handle->gdi.hWnd, &rc); - w = rc.right - rc.left; h = rc.bottom - rc.top; diff --git a/src/backend/wayland/interfaces.c b/src/backend/wayland/interfaces.c index 73ac8b1..247919c 100644 --- a/src/backend/wayland/interfaces.c +++ b/src/backend/wayland/interfaces.c @@ -11,6 +11,7 @@ #include #endif +#include #include static void setup_clipboard(MwLL self, struct wl_seat* wl_seat); @@ -576,9 +577,9 @@ static void pointer_motion(void* data, struct wl_pointer* wl_pointer, MwU32 time inArea |= self->wayland.framebuffer.surface == curSurface; } - if(self->wayland.backbuffer.surface) { - inArea |= self->wayland.backbuffer.surface == curSurface; - } + // if(self->wayland.backbuffer.surface) { + // inArea |= self->wayland.backbuffer.surface == curSurface; + // } self->wayland.cur_mouse_pos.x = wl_fixed_to_int(surface_x); self->wayland.cur_mouse_pos.y = wl_fixed_to_int(surface_y); @@ -601,7 +602,9 @@ static void pointer_motion(void* data, struct wl_pointer* wl_pointer, MwU32 time } MwLLWaylandCascadeChildren(self); } - + if(self->wayland.backbuffer.surface) { + wl_pointer_set_cursor(self->wayland.pointer, self->wayland.pointer_serial, self->wayland.cursor.surface, 0, 0); + } WAYLAND_EVENT_OP_END(self); }; @@ -632,6 +635,36 @@ static void recursive_dispatch_mouse_up(MwLL handle, MwMouse* p) { } }; +static bool hit_detect(MwLL child, MwLL* _topmost_parent, MwPoint* _point, MwPoint* _relative_mouse_pos, MwPoint* _absolute_pos) { + MwLL topmost_parent = child; + MwPoint point; + MwPoint relative_mouse_pos; + MwPoint absolute_pos; + + absolute_pos.x = child->wayland.x; + absolute_pos.y = child->wayland.y; + while(topmost_parent->wayland.parent) { + topmost_parent = topmost_parent->wayland.parent; + if(topmost_parent) { + absolute_pos.x += topmost_parent->wayland.x; + absolute_pos.y += topmost_parent->wayland.y; + } + } + + point = topmost_parent->wayland.cur_mouse_pos; + + relative_mouse_pos.x = point.x - absolute_pos.x; + relative_mouse_pos.y = point.y - absolute_pos.y; + + *_topmost_parent = topmost_parent; + *_point = point; + *_relative_mouse_pos = relative_mouse_pos; + *_absolute_pos = absolute_pos; + + return point.x >= absolute_pos.x && point.x <= absolute_pos.x + child->wayland.ww && + point.y >= absolute_pos.y && point.y <= absolute_pos.y + child->wayland.wh; +} + static void mouse_dispatch(MwLL self, MwMouse p, MwU32 state) { switch(state) { case WL_POINTER_BUTTON_STATE_PRESSED: @@ -653,23 +686,7 @@ static void mouse_dispatch(MwLL self, MwMouse p, MwU32 state) { MwPoint relative_mouse_pos; MwPoint absolute_pos; - absolute_pos.x = child->wayland.x; - absolute_pos.y = child->wayland.y; - while(topmost_parent->wayland.parent) { - topmost_parent = topmost_parent->wayland.parent; - if(topmost_parent) { - absolute_pos.x += topmost_parent->wayland.x; - absolute_pos.y += topmost_parent->wayland.y; - } - } - - point = topmost_parent->wayland.cur_mouse_pos; - relative_mouse_pos.x = point.x - absolute_pos.x; - relative_mouse_pos.y = point.y - absolute_pos.y; - - if( - point.x >= absolute_pos.x && point.x <= absolute_pos.x + child->wayland.ww && - point.y >= absolute_pos.y && point.y <= absolute_pos.y + child->wayland.wh) { + if(hit_detect(child, &topmost_parent, &point, &relative_mouse_pos, &absolute_pos)) { int idx = -1; for(n = 0; n < arrlen(topmost_parent->wayland.currentlyHeldWidgets); n++) { if(topmost_parent->wayland.currentlyHeldWidgets[n] == child) { @@ -703,8 +720,7 @@ static void pointer_button(void* data, struct wl_pointer* wl_pointer, MwU32 seri MwLL self = data; MwMouse p; MwLL topmost_parent = self; - int i; - MwBool inArea = MwFALSE; + MwBool inArea = MwFALSE; (void)wl_pointer; (void)serial; @@ -721,9 +737,7 @@ static void pointer_button(void* data, struct wl_pointer* wl_pointer, MwU32 seri if(self->wayland.framebuffer.surface) { inArea |= self->wayland.framebuffer.surface == curSurface; } - if(self->wayland.backbuffer.surface) { - inArea |= self->wayland.backbuffer.surface == curSurface; - } + if(inArea) { switch(button) { case BTN_LEFT: @@ -737,29 +751,21 @@ static void pointer_button(void* data, struct wl_pointer* wl_pointer, MwU32 seri break; } self->wayland.held_down = state == WL_POINTER_BUTTON_STATE_PRESSED; - // switch(state) { - // case WL_POINTER_BUTTON_STATE_PRESSED: - // MwLLDispatch(self, down, &p); - // break; - // case WL_POINTER_BUTTON_STATE_RELEASED: - // MwLLDispatch(self, up, &p); - // break; - // } - for(i = 0; i < arrlen(self->wayland.currentlyHeldWidgets); i++) { - arrdel(self->wayland.currentlyHeldWidgets, i); - } + arrsetlen(self->wayland.currentlyHeldWidgets, 0); mouse_dispatch(self, p, state); - + } + if(self->wayland.backbuffer.surface) { if(!self->wayland.has_decorations && self->wayland.do_csd) { if(state != WL_POINTER_BUTTON_STATE_RELEASED) xdg_borderless_step_mdown(self, p, serial); else xdg_borderless_step_mup(self, p, serial); } - - MwLLForceRender(self); } + + MwLLForceRender(self); + WAYLAND_EVENT_OP_END(self); }; @@ -849,6 +855,32 @@ static void keyboard_leave(void* data, WAYLAND_EVENT_OP_END(self); }; +static void key_dispatch(MwLL self, int* k, MwBool down) { + if(self->common.user) { + MwWidget w = self->common.user; + int i, n; + for(i = 0; i < arrlen(w->children); i++) { + if(w->children[i]->lowlevel->wayland.type == MwLL_WAYLAND_SUBLEVEL) { + MwLL child = w->children[i]->lowlevel; + MwLL topmost_parent = child; + MwPoint point; + MwPoint relative_mouse_pos; + MwPoint absolute_pos; + + if(hit_detect(child, &topmost_parent, &point, &relative_mouse_pos, &absolute_pos)) { + if(down) { + MwLLDispatch(child, key, k); + } else { + MwLLDispatch(child, key_released, k); + } + + key_dispatch(child, k, down); + } + } + } + } +} + /* `wl_keyboard.key` callback */ static void keyboard_key(void* data, struct wl_keyboard* wl_keyboard, @@ -872,13 +904,10 @@ static void keyboard_key(void* data, inArea |= self->wayland.framebuffer.surface == curSurface; } - if(self->wayland.backbuffer.surface) { - inArea |= self->wayland.backbuffer.surface == curSurface; - } - inArea |= (self == topmost_parent->wayland.focusedWidget); if(inArea) { + xkb_layout_index_t layout; MwU32 levels; xkb_level_index_t level = 0; @@ -962,13 +991,12 @@ static void keyboard_key(void* data, if(key != -1) { if(state == WL_KEYBOARD_KEY_STATE_PRESSED) { - recursive_dispatch_key(self, &key); self->wayland.holding_key = MwTRUE; self->wayland.last_pressed_key = key; } else { - recursive_dispatch_key_released(self, &key); self->wayland.holding_key = MwFALSE; } + key_dispatch(self, &key, state == WL_KEYBOARD_KEY_STATE_PRESSED); self->wayland.start_time = MwTimeGetTick(); self->wayland.next_elapsed = self->wayland.keyboard_delay; } @@ -1061,21 +1089,30 @@ static void wl_seat_capabilities(void* data, struct wl_seat* wl_seat, WAYLAND_EVENT_OP_START(self); + /* Always remember the seat itself, regardless of which capabilities it has - this is + * both what setup_clipboard()/setup_zwp_clipboard() below use, and what lets + * wl_seat_interface_destroy() release it later even on a keyboard-only seat. */ + self->wayland.pointer_seat = wl_seat; + if(capabilities & WL_SEAT_CAPABILITY_KEYBOARD) { self->wayland.keyboard = wl_seat_get_keyboard(wl_seat); wl_keyboard_add_listener(self->wayland.keyboard, &keyboard_listener, data); } if(capabilities & WL_SEAT_CAPABILITY_POINTER) { - self->wayland.pointer_seat = wl_seat; - self->wayland.pointer = wl_seat_get_pointer(wl_seat); + self->wayland.pointer = wl_seat_get_pointer(wl_seat); wl_pointer_add_listener(self->wayland.pointer, &pointer_listener, data); } WAYLAND_EVENT_OP_END(self); - if(self->wayland.clipboard_manager.wl) - setup_clipboard(self, self->wayland.pointer_seat); - if(self->wayland.clipboard_manager.zwp) - setup_zwp_clipboard(self, self->wayland.pointer_seat); + /* Only hooked up if this seat actually has a pointer: wl_data_device.get_data_device() + * requires a non-null seat, and pointer_seat is only ever null before the first + * capabilities event has arrived at all. */ + if(capabilities & WL_SEAT_CAPABILITY_POINTER) { + if(self->wayland.clipboard_manager.wl) + setup_clipboard(self, self->wayland.pointer_seat); + if(self->wayland.clipboard_manager.zwp) + setup_zwp_clipboard(self, self->wayland.pointer_seat); + } }; static void output_geometry(void* data, @@ -1129,8 +1166,9 @@ void xdg_wm_base_ping(void* data, /* wl_seat setup function */ static wayland_protocol_t* wl_seat_setup(MwU32 name, MwLL ll, MwU32 version) { wayland_protocol_t* proto = malloc(sizeof(wayland_protocol_t)); - MwU32 ver = (version >= 4) ? 4 : 1; + MwU32 ver = (version >= 4) ? 4 : 1; /* version 4 needed for wl_seat_release */ proto->listener = malloc(sizeof(struct wl_seat_listener)); + proto->context = NULL; ((struct wl_seat_listener*)proto->listener)->name = wl_seat_name; ((struct wl_seat_listener*)proto->listener)->capabilities = wl_seat_capabilities; @@ -1141,7 +1179,31 @@ static wayland_protocol_t* wl_seat_setup(MwU32 name, MwLL ll, MwU32 version) { } static void wl_seat_interface_destroy(struct _MwLLWayland* wayland, wayland_protocol_t* data) { - (void)wayland; + if(wayland->pointer != NULL) { + if(wl_proxy_get_version((struct wl_proxy*)wayland->pointer) >= WL_POINTER_RELEASE_SINCE_VERSION) { + wl_pointer_release(wayland->pointer); + } else { + wl_pointer_destroy(wayland->pointer); + } + wayland->pointer = NULL; + } + if(wayland->keyboard != NULL) { + if(wl_proxy_get_version((struct wl_proxy*)wayland->keyboard) >= WL_KEYBOARD_RELEASE_SINCE_VERSION) { + wl_keyboard_release(wayland->keyboard); + } else { + wl_keyboard_destroy(wayland->keyboard); + } + wayland->keyboard = NULL; + } + if(wayland->pointer_seat != NULL) { + if(wl_proxy_get_version((struct wl_proxy*)wayland->pointer_seat) >= WL_SEAT_RELEASE_SINCE_VERSION) { + wl_seat_release(wayland->pointer_seat); + } else { + wl_seat_destroy(wayland->pointer_seat); + } + wayland->pointer_seat = NULL; + } + free(data->listener); free(data); } diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 32896c8..950af4a 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -12,39 +12,6 @@ MwBool MwWaylandVulkan = MwFALSE; MwBool MwWaylandCairoOnly = MwFALSE; -static pthread_mutex_t destroyedWidgetsTableMutex; -/* - * So Wayland, bless its soul; it keeps using callbacks LONG after they should not only be destroyed but the widget doesn't even exist anymore. Naturally, this causes use after free. so we fight fire with fire in the worst code i've ever written: by storing the freed pointers here, we disallow wayland from ever using them again. if something else is created that takes this slot, we remove it from the table. - * - * To illustrate how bad this code is: if Israel and Palestine found out I was doing this then the Israel/Palestine conflict would be solved because both world leaders would come to the conclusion that this code is the worst thing ever. - */ -static MwLL* destroyedWidgetsTable; - -MwBool MwLLWaylandWidgetIsDestroyed(MwLL self) { - int i; - pthread_mutex_lock(&destroyedWidgetsTableMutex); - for(i = 0; i < arrlen(destroyedWidgetsTable); i++) { - if(self == destroyedWidgetsTable[i]) { - pthread_mutex_unlock(&destroyedWidgetsTableMutex); - return MwTRUE; - } - } - pthread_mutex_unlock(&destroyedWidgetsTableMutex); - return MwFALSE; -} -void MwLLWaylandWidgetUndestroy(MwLL self) { - int i; - pthread_mutex_lock(&destroyedWidgetsTableMutex); - for(i = 0; i < arrlen(destroyedWidgetsTable); i++) { - if(self == destroyedWidgetsTable[i]) { - arrdel(destroyedWidgetsTable, i); - break; - } - } - pthread_mutex_unlock(&destroyedWidgetsTableMutex); - return; -} - void MwLLWaylandChildrenIterate(MwLL handle, void (*func)(MwLL handle, MwLL child)) { if(handle->common.user) { MwWidget w = handle->common.user; @@ -76,7 +43,6 @@ static void recursive_dispatch_resize(MwLL handle) { static void recursive_render(MwLL handle) { int i; - WIDGET_CHECK(handle); for(i = 0; i < arrlen(((MwWidget)handle->common.user)->children); i++) recursive_render(((MwWidget)handle->common.user)->children[i]->lowlevel); @@ -381,8 +347,9 @@ static void destroy_toplevel(MwLL r) { xkb_context_unref(r->wayland.xkb_context); - wl_pointer_destroy(r->wayland.pointer); - wl_keyboard_destroy(r->wayland.keyboard); + /* wl_pointer/wl_keyboard/wl_seat are torn down centrally in wl_seat_interface_destroy, + * after this function returns, so every widget type that binds a seat (toplevel, popup, + * layer surface) releases them the same way instead of leaking or double-freeing them. */ wl_surface_destroy(r->wayland.framebuffer.surface); @@ -721,6 +688,12 @@ static void destroy_widget(MwLL handle) { MwLLShow(handle, MwFALSE); + if(wl_display_roundtrip(handle->wayland.display) == -1) { + printf("roundtrip failed\n"); + raise(SIGTRAP); + return; + } + switch(handle->wayland.type) { case MwLL_WAYLAND_TOPLEVEL: destroy_toplevel(handle); @@ -864,12 +837,7 @@ static void widget_setup(MwLL r, MwLL parent, int x, int y, int width, int heigh r->wayland.x = x; r->wayland.y = y; r->wayland.parent = parent; - if(MwLLWaylandWidgetIsDestroyed(parent)) { - r->wayland.valid = MwFALSE; - return; - } else { - r->wayland.valid = MwTRUE; - } + r->wayland.valid = MwTRUE; if(ty == MwLL_WAYLAND_UNKNOWN) { if(parent == NULL) { @@ -906,8 +874,6 @@ static void widget_setup(MwLL r, MwLL parent, int x, int y, int width, int heigh } } - WIDGET_CHECK(r); - r->wayland.region = wl_compositor_create_region(r->wayland.compositor); r->wayland.o_region = wl_compositor_create_region(r->wayland.compositor); MwLLWaylandRegionSetup(r); @@ -1030,12 +996,9 @@ static MwLL MwLLCreateImpl(MwLL parent, int x, int y, int width, int height) { MwLL r; r = malloc(sizeof(*r)); memset(r, 0, sizeof(*r)); + pthread_mutex_init(&r->wayland.eventsMutex, NULL); MwLLCreateCommon(r); - if(MwLLWaylandWidgetIsDestroyed(r)) { - MwLLWaylandWidgetUndestroy(r); - } - r->wayland.is_toplevel = parent == NULL; r->wayland.is_clipping = 0; @@ -1072,8 +1035,6 @@ static void MwLLDestroyImpl(MwLL handle) { select_ret = select(1, NULL, NULL, NULL, &tv); } while((select_ret == -1) && (errno == EINTR)); - pthread_mutex_destroy(&handle->wayland.eventsMutex); - #ifdef USE_DBUS if(!wl_call_tbl.has_dbus) { MwLLDBusFreeContext(&wl_call_tbl.dbus, &handle->wayland.dbus); @@ -1099,9 +1060,7 @@ static void MwLLDestroyImpl(MwLL handle) { printf("widget invalid\n"); } - pthread_mutex_lock(&destroyedWidgetsTableMutex); - arrput(destroyedWidgetsTable, handle); - pthread_mutex_unlock(&destroyedWidgetsTableMutex); + pthread_mutex_destroy(&handle->wayland.eventsMutex); free(handle); } @@ -1121,7 +1080,7 @@ static void MwLLGetXYWHImpl(MwLL handle, int* x, int* y, unsigned int* w, unsign } static void MwLLSetXYImpl(MwLL handle, int x, int y) { - WIDGET_CHECK(handle); + MwLLWaylandRegionInvalidate(handle); if(handle->wayland.type != MwLL_WAYLAND_TOPLEVEL) { @@ -1186,7 +1145,6 @@ static void actually_set_wh(MwLL handle) { } static void MwLLSetWHImpl(MwLL handle, int w, int h) { - WIDGET_CHECK(handle); if(handle->wayland.ww == w && handle->wayland.wh == h) { return; @@ -1224,7 +1182,6 @@ const float_color one = {.2627451, .37254902, .49411765}; const float_color two = {.05490196, .17254902, .30588235}; static void MwLLBeginDrawImpl(MwLL handle) { - WIDGET_CHECK(handle); cairo_save(handle->wayland.cairo.front_cairo_back); cairo_set_source_rgba(handle->wayland.cairo.front_cairo_back, 0, 0, 0, 0); cairo_set_operator(handle->wayland.cairo.front_cairo_back, CAIRO_OPERATOR_SOURCE); @@ -1384,7 +1341,6 @@ static void MwLLEndDrawImpl(MwLL handle) { } static void MwLLPolygonImpl(MwLL handle, MwPoint* points, int points_count, MwLLColor color) { - WIDGET_CHECK(handle); clip(handle); @@ -1395,7 +1351,6 @@ static void MwLLPolygonImpl(MwLL handle, MwPoint* points, int points_count, MwLL static void MwLLLineImpl(MwLL handle, MwPoint* points, MwLLColor color) { int i; - WIDGET_CHECK(handle); clip(handle); @@ -1437,10 +1392,6 @@ static int MwLLPendingImpl(MwLL handle) { }; int pending = 0; - if(MwLLWaylandWidgetIsDestroyed(handle) || !handle->wayland.valid) { - return 0; - } - handle->wayland.resizing = 0; if(handle->wayland.setting_wh) { @@ -1512,7 +1463,6 @@ static int MwLLPendingImpl(MwLL handle) { } static void MwLLNextEventImpl(MwLL handle) { - WIDGET_CHECK(handle); if(!MwWaylandVulkan) { if(handle->wayland.did_event_loop_early) { @@ -1533,7 +1483,7 @@ static void MwLLNextEventImpl(MwLL handle) { } static void MwLLSetTitleImpl(MwLL handle, const char* title) { - WIDGET_CHECK(handle); + if(handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) { xdg_toplevel_set_title(handle->wayland.toplevel->xdg_top_level, title); } @@ -1559,7 +1509,6 @@ static void MwLLDestroyPixmapImpl(MwLLPixmap pixmap) { } static void MwLLDrawPixmapImpl(MwLL handle, MwRect* rect, MwLLPixmap pixmap) { - WIDGET_CHECK(handle); clip(handle); @@ -1569,7 +1518,7 @@ static void MwLLDrawPixmapImpl(MwLL handle, MwRect* rect, MwLLPixmap pixmap) { wl_surface_damage(handle->wayland.framebuffer.surface, 0, 0, handle->wayland.ww, handle->wayland.wh); } static void MwLLSetIconImpl(MwLL handle, MwLLPixmap pixmap) { - WIDGET_CHECK(handle); + if(handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) { if(WAYLAND_GET_INTERFACE(handle->wayland, xdg_toplevel_icon_manager_v1) != NULL) { struct xdg_toplevel_icon_manager_v1* icon_manager = WAYLAND_GET_INTERFACE(handle->wayland, xdg_toplevel_icon_manager_v1)->context; @@ -1623,7 +1572,11 @@ static void MwLLSetIconImpl(MwLL handle, MwLLPixmap pixmap) { } static void MwLLForceRenderImpl(MwLL handle) { - WIDGET_CHECK(handle); + + if(!handle->wayland.configured) { + return; + } + wl_surface_damage(handle->wayland.framebuffer.surface, 0, 0, handle->wayland.ww, handle->wayland.wh); handle->wayland.force_render = MwTRUE; @@ -1635,8 +1588,6 @@ static void MwLLForceRenderImpl(MwLL handle) { static void MwLLSetCursorImpl(MwLL handle, MwCursor* image, MwCursor* mask) { int x, y, xs, ys; - WIDGET_CHECK(handle); - if(handle->wayland.cursor.setup) { MwLLWaylandBufferDestroy(&handle->wayland.cursor); wl_surface_destroy(handle->wayland.cursor.surface); @@ -1687,7 +1638,7 @@ static void MwLLSetCursorImpl(MwLL handle, MwCursor* image, MwCursor* mask) { static void MwLLDetachImpl(MwLL handle, MwPoint* point) { MwLL p = handle->wayland.parent; int x = 0, y = 0; - WIDGET_CHECK(handle); + while(p != NULL) { if(p->wayland.type != MwLL_WAYLAND_TOPLEVEL) { x += p->wayland.x; @@ -1709,7 +1660,7 @@ static void MwLLShowImpl(MwLL handle, int show) { if(!handle->wayland.configured) { return; } - WIDGET_CHECK(handle); + /* Some guy on a mailing list said that "abusing" wl_surface_attach for this purpose is bad? This is documented behavior so please I beg of you let me know if there's a compositor that actually has a problem with this. */ if(handle->wayland.framebuffer.surface) { wl_surface_attach(handle->wayland.framebuffer.surface, show ? handle->wayland.framebuffer.shm_buffer : NULL, 0, 0); @@ -1728,7 +1679,7 @@ static void MwLLMakePopupImpl(MwLL handle, MwLL parent) { } static void MwLLSetSizeHintsImpl(MwLL handle, int minx, int miny, int maxx, int maxy) { - WIDGET_CHECK(handle); + if(handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) { xdg_toplevel_set_min_size(handle->wayland.toplevel->xdg_top_level, minx, miny); xdg_toplevel_set_max_size(handle->wayland.toplevel->xdg_top_level, maxx, maxy); @@ -1739,7 +1690,7 @@ static void MwLLSetSizeHintsImpl(MwLL handle, int minx, int miny, int maxx, int } static void MwLLMakeBorderlessImpl(MwLL handle, int toggle) { - WIDGET_CHECK(handle); + if(handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) { if(WAYLAND_GET_INTERFACE(handle->wayland, zxdg_decoration_manager_v1) != NULL) { zxdg_decoration_manager_v1_context_t* dec = WAYLAND_GET_INTERFACE(handle->wayland, zxdg_decoration_manager_v1)->context; @@ -1766,7 +1717,7 @@ static void MwLLFocusImpl(MwLL handle) { static void MwLLGrabPointerImpl(MwLL handle, int toggle) { MwLL topmost_parent = handle; - WIDGET_CHECK(handle); + while(topmost_parent->wayland.parent) topmost_parent = topmost_parent->wayland.parent; if(handle->wayland.pointer_constraints && handle->wayland.relative_pointer_manager) { if(toggle) { @@ -1793,7 +1744,6 @@ static void MwLLGrabPointerImpl(MwLL handle, int toggle) { static void MwLLSetClipboardImpl(MwLL handle, const char* text, int clipboard_type) { int i; - WIDGET_CHECK(handle); if(handle->wayland.clipboard_buffer != NULL) { free(handle->wayland.clipboard_buffer); @@ -1820,7 +1770,7 @@ static void MwLLSetClipboardImpl(MwLL handle, const char* text, int clipboard_ty static void MwLLGetClipboardImpl(MwLL handle, int clipboard_type) { int i; - WIDGET_CHECK(handle); + if(clipboard_type == MwCLIPBOARD_PRIMARY) { if(handle->wayland.supports_zwp) { for(i = 0; i < arrlen(handle->wayland.clipboard_devices_zwp); i++) { @@ -1842,8 +1792,6 @@ static void MwLLGetClipboardImpl(MwLL handle, int clipboard_type) { static void MwLLMakeToolWindowImpl(MwLL handle) { MwBool can_do_layer_surface = MwFALSE; - WIDGET_CHECK(handle); - can_do_layer_surface = (WAYLAND_GET_INTERFACE(handle->wayland, zwlr_layer_shell_v1) != NULL); if(!handle->wayland.parent && can_do_layer_surface) { @@ -1858,14 +1806,12 @@ static void MwLLMakeToolWindowImpl(MwLL handle) { static void MwLLGetCursorCoordImpl(MwLL handle, MwPoint* point) { MwLL topmost_parent = handle; - WIDGET_CHECK(handle); while(topmost_parent->wayland.parent) topmost_parent = topmost_parent->wayland.parent; *point = topmost_parent->wayland.cur_mouse_pos; } static void MwLLGetScreenSizeImpl(MwLL handle, MwRect* rect) { - WIDGET_CHECK(handle); rect->x = 0; rect->y = 0; @@ -1885,7 +1831,6 @@ static void MwLLBeginStateChangeImpl(MwLL handle) { static void MwLLEndStateChangeImpl(MwLL handle) { MwLL topmost_parent; int x, y; - WIDGET_CHECK(handle); if(!handle->wayland.changing) { return; @@ -1945,7 +1890,7 @@ static MwBool MwLLDoModernImpl(MwLL handle) { static void MwLLRaiseImpl(MwLL handle) { (void)handle; - /* WIDGET_CHECK(handle); + /* if(handle->wayland.type == MwLL_WAYLAND_SUBLEVEL) { MwLL topmost_parent = handle; diff --git a/src/core.c b/src/core.c index 3180922..481fa34 100644 --- a/src/core.c +++ b/src/core.c @@ -5,7 +5,7 @@ #ifdef USE_COCOA #define PERIODIC #endif - +// #define USE_CLASSIC_THEME #define RESIZE_ON_TICK #define DRAW(handle) \ diff --git a/src/default.c b/src/default.c index 44e4c4d..2cb1633 100644 --- a/src/default.c +++ b/src/default.c @@ -1,18 +1,38 @@ #include +#define USE_CATPPUCCIN_DARK + +#ifdef USE_CATPPUCCIN_LIGHT +const char* MwDefaultBackground = "#eff1f5"; +const char* MwDefaultForeground = "#4c4f69"; +const char* MwDefaultSubBackground = "#9ca0b0"; +const char* MwDefaultSubForeground = "#6c6f85"; +const char* MwDefaultTitleBackground = "#bcc0cc"; +const char* MwDefaultTitleForeground = "#5c5f77"; +#else const char* MwDefaultBackground = "#d2d2d2"; const char* MwDefaultForeground = "#000"; const char* MwDefaultSubBackground = "#fff"; const char* MwDefaultSubForeground = "#000"; const char* MwDefaultTitleBackground = "#008"; const char* MwDefaultTitleForeground = "#fff"; +#endif +#ifdef USE_CATPPUCCIN_DARK +const char* MwDefaultDarkBackground = "#1e1e2e"; +const char* MwDefaultDarkForeground = "#cdd6f4"; +const char* MwDefaultDarkSubBackground = "#313244"; +const char* MwDefaultDarkSubForeground = "#a6adc8"; +const char* MwDefaultDarkTitleBackground = "#45475a"; +const char* MwDefaultDarkTitleForeground = "#bac2de"; +#else const char* MwDefaultDarkBackground = "#333"; const char* MwDefaultDarkForeground = "#ddd"; const char* MwDefaultDarkSubBackground = "#333"; const char* MwDefaultDarkSubForeground = "#ddd"; const char* MwDefaultDarkTitleBackground = "#008"; const char* MwDefaultDarkTitleForeground = "#fff"; +#endif const int MwDefaultShadow = -32; diff --git a/src/draw.c b/src/draw.c index c7869e0..eb15c76 100644 --- a/src/draw.c +++ b/src/draw.c @@ -11,7 +11,7 @@ #include "../external/stb_ds.h" -static int get_color_diff(MwWidget handle) { +int MwGetColorDifference(MwWidget handle) { if(MwGetInteger(handle, MwNmodernLook)) { return 40; } else { @@ -99,29 +99,70 @@ MwLLColor MwLightenColor(MwWidget handle, MwLLColor color, int r, int g, int b) return MwLLAllocColor(handle->lowlevel, cr, cg, cb); } +void MwFixRect(MwRect* rect) { + if(rect->width < 0) { + rect->width *= -1; + rect->x -= rect->width; + } + + if(rect->height < 0) { + rect->height *= -1; + rect->y -= rect->height; + } +} + void MwDrawRect(MwWidget handle, MwRect* rect, MwLLColor color) { MwPoint p[4]; + MwRect r = *rect; - p[0].x = rect->x; - p[0].y = rect->y; + MwFixRect(&r); - p[1].x = rect->x + rect->width; - p[1].y = rect->y; + p[0].x = r.x; + p[0].y = r.y; - p[2].x = rect->x + rect->width; - p[2].y = rect->y + rect->height; + p[1].x = r.x + r.width; + p[1].y = r.y; - p[3].x = rect->x; - p[3].y = rect->y + rect->height; + p[2].x = r.x + r.width; + p[2].y = r.y + r.height; + + p[3].x = r.x; + p[3].y = r.y + r.height; MwLLPolygon(handle->lowlevel, p, 4, color); } +void MwDrawRectLine(MwWidget handle, MwRect* rect, MwLLColor color) { + MwPoint p[5]; + MwRect r = *rect; + + MwFixRect(&r); + + p[0].x = r.x; + p[0].y = r.y; + + p[1].x = r.x + r.width; + p[1].y = r.y; + + p[2].x = r.x + r.width; + p[2].y = r.y + r.height; + + p[3].x = r.x; + p[3].y = r.y + r.height; + + p[4] = p[0]; + + MwLLLine(handle->lowlevel, &p[0], color); + MwLLLine(handle->lowlevel, &p[1], color); + MwLLLine(handle->lowlevel, &p[2], color); + MwLLLine(handle->lowlevel, &p[3], color); +} + void MwDrawRectFading(MwWidget handle, MwRect* rect, MwLLColor color) { MwLLPixmap pixmap; int y; double darken = 0.; - int ColorDiff = get_color_diff(handle); + int ColorDiff = MwGetColorDifference(handle); double darkenStep = (ColorDiff / 2.) / rect->height; unsigned long sz = 1 * rect->height * 4; unsigned char* data = malloc(sz * 2); @@ -178,7 +219,7 @@ void MwDrawFrameWithBorder(MwWidget handle, MwRect* rect, MwLLColor color, int i if(MwGetInteger(handle, MwNmodernLook)) { MwDrawFrameEx(handle, rect, color, invert, border, 0, 0); } else { - int diff = get_color_diff(handle) / 3 * 2; + int diff = MwGetColorDifference(handle) / 3 * 2; if(border >= 2) { int i; @@ -236,7 +277,7 @@ void MwDrawWidgetBack(MwWidget handle, MwRect* rect, MwLLColor color, int invert void MwDrawDiamond(MwWidget handle, MwRect* rect, MwLLColor color, int invert) { MwPoint p[6]; int border = MwDefaultBorderWidth(handle); - int ColorDiff = get_color_diff(handle) + (MwGetInteger(handle, MwNmodernLook) ? 48 : 0); + int ColorDiff = MwGetColorDifference(handle) + (MwGetInteger(handle, MwNmodernLook) ? 48 : 0); MwLLColor darker = MwLightenColor(handle, color, -ColorDiff, -ColorDiff, -ColorDiff); MwLLColor lighter = MwLightenColor(handle, color, ColorDiff, ColorDiff, ColorDiff); MwLLColor col = invert ? MwLightenColor(handle, color, -8, -8, -8) : MwLightenColor(handle, color, 0, 0, 0); @@ -312,7 +353,7 @@ void MwDrawCircle(MwWidget handle, MwRect* rect, MwLLColor color, MwLLColor back double cx, cy, rx, ry; int border; int x, y; - int ColorDiff = (get_color_diff(handle)); + int ColorDiff = (MwGetColorDifference(handle)); MwLLColor darker = MwLightenColor(handle, color, -ColorDiff, -ColorDiff, -ColorDiff); MwLLColor lighter = MwLightenColor(handle, color, ColorDiff, ColorDiff, ColorDiff); MwLLColor base = MwLightenColor(handle, color, 0, 0, 0); @@ -385,6 +426,8 @@ void MwDrawCircle(MwWidget handle, MwRect* rect, MwLLColor color, MwLLColor back pout[2] = (MwU8)mixColor->common.blue; pout[3] = 255; + + MwLLFreeColor(mixColor); } } } @@ -402,7 +445,7 @@ void MwDrawCircle(MwWidget handle, MwRect* rect, MwLLColor color, MwLLColor back static void MwDrawFrameEx_simple(MwWidget handle, MwRect* rect, MwLLColor color, int invert, int border, int diff, int same) { MwPoint p[7]; - int ColorDiff = get_color_diff(handle); + int ColorDiff = MwGetColorDifference(handle); MwLLColor darker = MwLightenColor(handle, color, -ColorDiff * 3 / 2 + diff, -ColorDiff * 3 / 2 + diff, -ColorDiff * 3 / 2 + diff); MwLLColor lighter = same ? MwLightenColor(handle, darker, 0, 0, 0) : MwLightenColor(handle, color, ColorDiff - diff, ColorDiff - diff, ColorDiff - diff); color_set_disabled_if_disabled(handle, darker); @@ -499,7 +542,7 @@ static void frame_border_complex(MwWidget handle, MwRect* rect, MwLLColor lighte } static void MwDrawFrameEx_complex(MwWidget handle, MwRect* rect, MwLLColor color, int invert, int border, int diff, int same) { - int ColorDiff = get_color_diff(handle); + int ColorDiff = MwGetColorDifference(handle); MwLLColor darker = MwLightenColor(handle, color, -ColorDiff * 3 / 2 + diff, -ColorDiff * 3 / 2 + diff, -ColorDiff * 3 / 2 + diff); MwLLColor lighter = same ? MwLightenColor(handle, darker, 0, 0, 0) : MwLightenColor(handle, color, (ColorDiff / 2) - diff, (ColorDiff / 2) - diff, (ColorDiff / 2) - diff); MwRect r = *rect; @@ -539,7 +582,7 @@ void MwDrawFrameEx(MwWidget handle, MwRect* rect, MwLLColor color, int invert, i void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert, int direction) { MwPoint p1[4], p2[4], p3[4], p4[3]; const int border = MwGetInteger(handle, MwNmodernLook) ? 2 : MwDefaultBorderWidth(handle); - int ColorDiff = get_color_diff(handle); + int ColorDiff = MwGetColorDifference(handle); MwLLColor darker = MwLightenColor(handle, color, -ColorDiff, -ColorDiff, -ColorDiff); MwLLColor lighter = MwLightenColor(handle, color, ColorDiff, ColorDiff, ColorDiff); MwLLColor col = invert ? MwLightenColor(handle, color, -8, -8, -8) : MwLightenColor(handle, color, 0, 0, 0); diff --git a/src/text/font/boldfont.c b/src/text/font/boldfont.c index c63be2c..b021ada 100644 --- a/src/text/font/boldfont.c +++ b/src/text/font/boldfont.c @@ -5,260 +5,260 @@ * "Public domain font. Share and enjoy." */ MwFont MwBoldFontData[] = { - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 0 */ - {0, 12, {0, 0, 12, 12, 30, 30, 63, 63, 30, 30, 12, 12, 0, 0}}, /* 1 */ - {0, 12, {59, 119, 110, 93, 59, 119, 110, 93, 59, 119, 110, 93, 59, 119}}, /* 2 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 3 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 4 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 5 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 6 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 7 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 8 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 9 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 10 */ - {0, 12, {12, 12, 12, 12, 12, 12, 124, 124, 0, 0, 0, 0, 0, 0}}, /* 11 */ - {0, 12, {0, 0, 0, 0, 0, 0, 124, 124, 12, 12, 12, 12, 12, 12}}, /* 12 */ - {0, 12, {0, 0, 0, 0, 0, 0, 15, 15, 12, 12, 12, 12, 12, 12}}, /* 13 */ - {0, 12, {12, 12, 12, 12, 12, 12, 15, 15, 0, 0, 0, 0, 0, 0}}, /* 14 */ - {0, 12, {12, 12, 12, 12, 12, 12, 127, 127, 12, 12, 12, 12, 12, 12}}, /* 15 */ - {0, 12, {127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 16 */ - {0, 12, {0, 0, 0, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 17 */ - {0, 12, {0, 0, 0, 0, 0, 0, 127, 127, 0, 0, 0, 0, 0, 0}}, /* 18 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 0, 0, 0}}, /* 19 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127}}, /* 20 */ - {0, 12, {12, 12, 12, 12, 12, 12, 15, 15, 12, 12, 12, 12, 12, 12}}, /* 21 */ - {0, 12, {12, 12, 12, 12, 12, 12, 124, 124, 12, 12, 12, 12, 12, 12}}, /* 22 */ - {0, 12, {12, 12, 12, 12, 12, 12, 127, 127, 0, 0, 0, 0, 0, 0}}, /* 23 */ - {0, 12, {0, 0, 0, 0, 0, 0, 127, 127, 12, 12, 12, 12, 12, 12}}, /* 24 */ - {0, 12, {12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12}}, /* 25 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 26 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 27 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 28 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 29 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 30 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 31 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 32 */ - {0, 12, {0, 0, 12, 12, 12, 12, 12, 12, 12, 0, 12, 12, 0, 0}}, /* 33 */ - {0, 12, {63, 27, 27, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 34 */ - {0, 12, {0, 0, 15, 15, 15, 63, 30, 30, 63, 60, 60, 60, 0, 0}}, /* 35 */ - {0, 12, {0, 0, 12, 30, 45, 45, 28, 14, 13, 45, 45, 30, 12, 0}}, /* 36 */ - {0, 12, {0, 0, 27, 55, 54, 28, 4, 8, 14, 27, 59, 54, 0, 0}}, /* 37 */ - {0, 12, {0, 0, 14, 27, 27, 27, 14, 27, 55, 54, 54, 27, 0, 0}}, /* 38 */ - {0, 12, {28, 12, 12, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 39 */ - {0, 12, {0, 3, 6, 12, 12, 24, 24, 24, 24, 24, 12, 12, 6, 3}}, /* 40 */ - {0, 12, {0, 48, 24, 12, 12, 6, 6, 6, 6, 6, 12, 12, 24, 48}}, /* 41 */ - {0, 12, {0, 0, 0, 45, 45, 30, 12, 12, 30, 45, 45, 0, 0, 0}}, /* 42 */ - {0, 12, {0, 0, 0, 0, 12, 12, 12, 63, 12, 12, 12, 0, 0, 0}}, /* 43 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 12, 12, 24}}, /* 44 */ - {0, 12, {0, 0, 0, 0, 0, 0, 63, 63, 0, 0, 0, 0, 0, 0}}, /* 45 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 0, 0}}, /* 46 */ - {0, 12, {0, 3, 3, 3, 6, 6, 12, 12, 12, 24, 24, 48, 48, 48}}, /* 47 */ - {0, 12, {0, 0, 30, 51, 51, 51, 51, 51, 51, 51, 51, 30, 0, 0}}, /* 48 */ - {0, 12, {0, 0, 12, 28, 60, 12, 12, 12, 12, 12, 12, 63, 0, 0}}, /* 49 */ - {0, 12, {0, 0, 30, 51, 51, 3, 6, 6, 12, 24, 48, 63, 0, 0}}, /* 50 */ - {0, 12, {0, 0, 30, 51, 51, 3, 14, 3, 3, 51, 51, 30, 0, 0}}, /* 51 */ - {0, 12, {0, 0, 2, 6, 6, 14, 30, 22, 54, 63, 2, 2, 0, 0}}, /* 52 */ - {0, 12, {0, 0, 63, 48, 48, 62, 51, 3, 3, 51, 51, 30, 0, 0}}, /* 53 */ - {0, 12, {0, 0, 14, 27, 51, 48, 62, 51, 51, 51, 51, 30, 0, 0}}, /* 54 */ - {0, 12, {0, 0, 63, 51, 54, 6, 12, 12, 12, 12, 12, 12, 0, 0}}, /* 55 */ - {0, 12, {0, 0, 30, 51, 51, 30, 12, 30, 51, 51, 51, 30, 0, 0}}, /* 56 */ - {0, 12, {0, 0, 30, 51, 51, 51, 51, 31, 3, 51, 54, 28, 0, 0}}, /* 57 */ - {0, 12, {0, 0, 0, 0, 12, 12, 0, 0, 0, 12, 12, 0, 0, 0}}, /* 58 */ - {0, 12, {0, 0, 0, 0, 12, 12, 0, 0, 0, 28, 12, 12, 24, 0}}, /* 59 */ - {0, 12, {0, 0, 0, 3, 6, 12, 24, 48, 24, 12, 6, 3, 0, 0}}, /* 60 */ - {0, 12, {0, 0, 0, 0, 63, 63, 0, 63, 63, 0, 0, 0, 0, 0}}, /* 61 */ - {0, 12, {0, 0, 0, 48, 24, 12, 6, 3, 6, 12, 24, 48, 0, 0}}, /* 62 */ - {0, 12, {0, 0, 30, 51, 51, 6, 12, 12, 12, 0, 12, 12, 0, 0}}, /* 63 */ - {0, 12, {0, 0, 14, 27, 55, 61, 61, 61, 61, 55, 24, 15, 0, 0}}, /* 64 */ - {0, 12, {0, 0, 30, 63, 51, 51, 51, 51, 63, 51, 51, 51, 0, 0}}, /* 65 */ - {0, 12, {0, 0, 62, 51, 51, 50, 62, 51, 51, 51, 51, 62, 0, 0}}, /* 66 */ - {0, 12, {0, 0, 30, 51, 51, 48, 48, 48, 48, 51, 51, 30, 0, 0}}, /* 67 */ - {0, 12, {0, 0, 60, 54, 51, 51, 51, 51, 51, 51, 54, 60, 0, 0}}, /* 68 */ - {0, 12, {0, 0, 63, 48, 48, 48, 62, 48, 48, 48, 48, 63, 0, 0}}, /* 69 */ - {0, 12, {0, 0, 63, 48, 48, 48, 62, 48, 48, 48, 48, 48, 0, 0}}, /* 70 */ - {0, 12, {0, 0, 30, 51, 51, 48, 48, 55, 51, 51, 51, 30, 0, 0}}, /* 71 */ - {0, 12, {0, 0, 51, 51, 51, 51, 63, 51, 51, 51, 51, 51, 0, 0}}, /* 72 */ - {0, 12, {0, 0, 63, 12, 12, 12, 12, 12, 12, 12, 12, 63, 0, 0}}, /* 73 */ - {0, 12, {0, 0, 3, 3, 3, 3, 3, 3, 3, 51, 54, 28, 0, 0}}, /* 74 */ - {0, 12, {0, 0, 51, 54, 60, 56, 56, 60, 60, 54, 51, 51, 0, 0}}, /* 75 */ - {0, 12, {0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 63, 0, 0}}, /* 76 */ - {0, 12, {0, 0, 33, 51, 51, 63, 63, 51, 51, 51, 51, 51, 0, 0}}, /* 77 */ - {0, 12, {0, 0, 51, 51, 59, 59, 59, 55, 55, 55, 51, 51, 0, 0}}, /* 78 */ - {0, 12, {0, 0, 30, 51, 51, 51, 51, 51, 51, 51, 51, 30, 0, 0}}, /* 79 */ - {0, 12, {0, 0, 62, 51, 51, 51, 51, 62, 48, 48, 48, 48, 0, 0}}, /* 80 */ - {0, 12, {0, 0, 30, 51, 51, 51, 51, 51, 59, 55, 51, 30, 3, 1}}, /* 81 */ - {0, 12, {0, 0, 62, 51, 51, 51, 62, 54, 51, 51, 51, 51, 0, 0}}, /* 82 */ - {0, 12, {0, 0, 30, 51, 51, 24, 12, 12, 6, 51, 51, 30, 0, 0}}, /* 83 */ - {0, 12, {0, 0, 63, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0}}, /* 84 */ - {0, 12, {0, 0, 51, 51, 51, 51, 51, 51, 51, 51, 51, 30, 0, 0}}, /* 85 */ - {0, 12, {0, 0, 51, 51, 51, 51, 51, 51, 51, 30, 30, 12, 0, 0}}, /* 86 */ - {0, 12, {0, 0, 51, 51, 51, 51, 51, 63, 63, 63, 63, 18, 0, 0}}, /* 87 */ - {0, 12, {0, 0, 51, 51, 30, 30, 12, 12, 30, 30, 51, 51, 0, 0}}, /* 88 */ - {0, 12, {0, 0, 51, 51, 51, 30, 30, 12, 12, 12, 12, 12, 0, 0}}, /* 89 */ - {0, 12, {0, 0, 63, 3, 6, 6, 12, 12, 24, 24, 48, 63, 0, 0}}, /* 90 */ - {0, 12, {0, 31, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 31}}, /* 91 */ - {0, 12, {0, 48, 48, 48, 24, 24, 12, 12, 12, 6, 6, 3, 3, 3}}, /* 92 */ - {0, 12, {0, 62, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 62}}, /* 93 */ - {0, 12, {12, 30, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 94 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 63}}, /* 95 */ - {0, 12, {14, 12, 12, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 96 */ - {0, 12, {0, 0, 0, 0, 0, 30, 51, 7, 27, 51, 51, 31, 0, 0}}, /* 97 */ - {0, 12, {0, 0, 48, 48, 48, 62, 51, 51, 51, 51, 51, 62, 0, 0}}, /* 98 */ - {0, 12, {0, 0, 0, 0, 0, 30, 51, 48, 48, 48, 51, 30, 0, 0}}, /* 99 */ - {0, 12, {0, 0, 3, 3, 3, 31, 51, 51, 51, 51, 51, 31, 0, 0}}, /* 100 */ - {0, 12, {0, 0, 0, 0, 0, 30, 51, 51, 63, 48, 51, 30, 0, 0}}, /* 101 */ - {0, 12, {0, 0, 6, 15, 12, 12, 63, 12, 12, 12, 12, 12, 0, 0}}, /* 102 */ - {0, 12, {0, 0, 0, 0, 0, 29, 55, 54, 54, 28, 16, 62, 51, 30}}, /* 103 */ - {0, 12, {0, 0, 48, 48, 48, 62, 51, 51, 51, 51, 51, 51, 0, 0}}, /* 104 */ - {0, 12, {0, 0, 12, 12, 0, 12, 12, 12, 12, 12, 12, 12, 0, 0}}, /* 105 */ - {0, 12, {0, 0, 6, 6, 0, 6, 6, 6, 6, 6, 6, 6, 54, 28}}, /* 106 */ - {0, 12, {0, 0, 48, 48, 48, 50, 54, 60, 60, 54, 51, 49, 0, 0}}, /* 107 */ - {0, 12, {0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0}}, /* 108 */ - {0, 12, {0, 0, 0, 0, 0, 54, 63, 63, 63, 63, 63, 63, 0, 0}}, /* 109 */ - {0, 12, {0, 0, 0, 0, 0, 62, 51, 51, 51, 51, 51, 51, 0, 0}}, /* 110 */ - {0, 12, {0, 0, 0, 0, 0, 30, 51, 51, 51, 51, 51, 30, 0, 0}}, /* 111 */ - {0, 12, {0, 0, 0, 0, 0, 62, 51, 51, 51, 51, 51, 62, 48, 48}}, /* 112 */ - {0, 12, {0, 0, 0, 0, 0, 31, 51, 51, 51, 51, 51, 31, 3, 3}}, /* 113 */ - {0, 12, {0, 0, 0, 0, 0, 62, 51, 51, 48, 48, 48, 48, 0, 0}}, /* 114 */ - {0, 12, {0, 0, 0, 0, 0, 30, 51, 24, 12, 6, 51, 30, 0, 0}}, /* 115 */ - {0, 12, {0, 0, 12, 12, 12, 63, 12, 12, 12, 12, 12, 7, 0, 0}}, /* 116 */ - {0, 12, {0, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 31, 0, 0}}, /* 117 */ - {0, 12, {0, 0, 0, 0, 0, 51, 51, 51, 30, 30, 12, 12, 0, 0}}, /* 118 */ - {0, 12, {0, 0, 0, 0, 0, 51, 51, 63, 63, 63, 63, 18, 0, 0}}, /* 119 */ - {0, 12, {0, 0, 0, 0, 0, 51, 51, 30, 12, 30, 51, 51, 0, 0}}, /* 120 */ - {0, 12, {0, 0, 0, 0, 0, 51, 51, 27, 27, 14, 14, 6, 54, 28}}, /* 121 */ - {0, 12, {0, 0, 0, 0, 0, 63, 3, 6, 12, 24, 48, 63, 0, 0}}, /* 122 */ - {0, 12, {0, 7, 12, 12, 12, 12, 12, 24, 12, 12, 12, 12, 12, 7}}, /* 123 */ - {0, 12, {0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12}}, /* 124 */ - {0, 12, {0, 56, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12, 56}}, /* 125 */ - {0, 12, {0, 16, 63, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 126 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 127 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 128 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 129 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 130 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 131 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 132 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 133 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 134 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 135 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 136 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 137 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 138 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 139 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 140 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 141 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 142 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 143 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 144 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 145 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 146 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 147 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 148 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 149 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 150 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 151 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 152 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 153 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 154 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 155 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 156 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 157 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 158 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 159 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 160 */ - {0, 12, {0, 0, 12, 12, 0, 12, 12, 12, 12, 12, 12, 12, 0, 0}}, /* 161 */ - {0, 12, {0, 0, 0, 0, 12, 31, 45, 44, 44, 44, 45, 31, 12, 0}}, /* 162 */ - {0, 12, {0, 0, 0, 14, 27, 24, 24, 60, 24, 24, 62, 27, 0, 0}}, /* 163 */ - {0, 12, {0, 0, 0, 0, 51, 30, 26, 22, 30, 51, 0, 0, 0, 0}}, /* 164 */ - {0, 12, {0, 0, 33, 51, 30, 63, 12, 12, 63, 12, 12, 12, 0, 0}}, /* 165 */ - {0, 12, {0, 0, 12, 12, 12, 12, 0, 0, 12, 12, 12, 12, 0, 0}}, /* 166 */ - {0, 12, {0, 30, 51, 24, 12, 30, 51, 30, 12, 6, 51, 30, 0, 0}}, /* 167 */ - {0, 12, {0, 54, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 168 */ - {0, 12, {0, 30, 51, 63, 59, 59, 59, 59, 59, 63, 51, 30, 0, 0}}, /* 169 */ - {0, 12, {0, 14, 27, 15, 27, 27, 15, 0, 31, 0, 0, 0, 0, 0}}, /* 170 */ - {0, 12, {0, 0, 0, 0, 0, 7, 15, 30, 60, 30, 15, 7, 0, 0}}, /* 171 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 126, 126, 6, 6, 6, 0, 0}}, /* 172 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 120, 120, 0, 0, 0, 0, 0}}, /* 173 */ - {0, 12, {0, 30, 51, 63, 59, 59, 63, 59, 59, 59, 51, 30, 0, 0}}, /* 174 */ - {0, 12, {0, 0, 120, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 175 */ - {0, 12, {0, 28, 54, 54, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 176 */ - {0, 12, {0, 0, 0, 0, 0, 0, 12, 12, 63, 12, 12, 63, 0, 0}}, /* 177 */ - {0, 12, {0, 28, 54, 6, 12, 24, 48, 62, 0, 0, 0, 0, 0, 0}}, /* 178 */ - {0, 12, {0, 28, 54, 6, 28, 6, 54, 28, 0, 0, 0, 0, 0, 0}}, /* 179 */ - {0, 12, {0, 6, 12, 24, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 180 */ - {0, 12, {0, 0, 0, 0, 0, 0, 51, 51, 51, 51, 55, 63, 48, 48}}, /* 181 */ - {0, 12, {0, 0, 31, 59, 59, 59, 59, 27, 11, 11, 11, 11, 11, 15}}, /* 182 */ - {0, 12, {0, 0, 0, 0, 0, 12, 12, 0, 0, 0, 0, 0, 0, 0}}, /* 183 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 24}}, /* 184 */ - {0, 12, {0, 0, 24, 56, 24, 24, 24, 24, 0, 0, 0, 0, 0, 0}}, /* 185 */ - {0, 12, {0, 0, 14, 27, 27, 14, 0, 31, 0, 0, 0, 0, 0, 0}}, /* 186 */ - {0, 12, {0, 0, 0, 0, 0, 56, 28, 14, 7, 14, 28, 56, 0, 0}}, /* 187 */ - {0, 12, {0, 0, 25, 59, 26, 30, 30, 13, 27, 23, 55, 35, 0, 0}}, /* 188 */ - {0, 12, {0, 0, 25, 59, 26, 30, 30, 14, 29, 19, 54, 39, 0, 0}}, /* 189 */ - {0, 12, {0, 0, 49, 27, 58, 30, 60, 15, 27, 55, 39, 3, 0, 0}}, /* 190 */ - {0, 12, {0, 0, 0, 6, 6, 0, 6, 6, 6, 6, 6, 51, 51, 30}}, /* 191 */ - {0, 12, {28, 14, 0, 30, 63, 51, 51, 51, 63, 51, 51, 51, 0, 0}}, /* 192 */ - {0, 12, {14, 28, 0, 30, 63, 51, 51, 51, 63, 51, 51, 51, 0, 0}}, /* 193 */ - {0, 12, {12, 30, 0, 30, 63, 51, 51, 51, 63, 51, 51, 51, 0, 0}}, /* 194 */ - {0, 12, {10, 20, 0, 30, 63, 51, 51, 51, 63, 51, 51, 51, 0, 0}}, /* 195 */ - {0, 12, {18, 18, 0, 30, 63, 51, 51, 51, 63, 51, 51, 51, 0, 0}}, /* 196 */ - {0, 12, {12, 12, 0, 30, 63, 51, 51, 51, 63, 51, 51, 51, 0, 0}}, /* 197 */ - {0, 12, {0, 0, 63, 108, 108, 108, 110, 124, 108, 108, 108, 111, 0, 0}}, /* 198 */ - {0, 12, {0, 0, 30, 51, 51, 48, 48, 48, 48, 51, 51, 30, 12, 24}}, /* 199 */ - {0, 12, {28, 14, 0, 63, 48, 48, 48, 62, 48, 48, 48, 63, 0, 0}}, /* 200 */ - {0, 12, {14, 28, 0, 63, 48, 48, 48, 62, 48, 48, 48, 63, 0, 0}}, /* 201 */ - {0, 12, {12, 30, 0, 63, 48, 48, 48, 62, 48, 48, 48, 63, 0, 0}}, /* 202 */ - {0, 12, {18, 18, 0, 63, 48, 48, 48, 62, 48, 48, 48, 63, 0, 0}}, /* 203 */ - {0, 12, {28, 14, 0, 63, 12, 12, 12, 12, 12, 12, 12, 63, 0, 0}}, /* 204 */ - {0, 12, {14, 28, 0, 63, 12, 12, 12, 12, 12, 12, 12, 63, 0, 0}}, /* 205 */ - {0, 12, {12, 30, 0, 63, 12, 12, 12, 12, 12, 12, 12, 63, 0, 0}}, /* 206 */ - {0, 12, {18, 18, 0, 63, 12, 12, 12, 12, 12, 12, 12, 63, 0, 0}}, /* 207 */ - {0, 12, {0, 0, 60, 54, 51, 51, 127, 51, 51, 51, 54, 60, 0, 0}}, /* 208 */ - {0, 12, {10, 20, 0, 51, 59, 59, 59, 55, 55, 55, 51, 51, 0, 0}}, /* 209 */ - {0, 12, {28, 14, 0, 30, 51, 51, 51, 51, 51, 51, 51, 30, 0, 0}}, /* 210 */ - {0, 12, {14, 28, 0, 30, 51, 51, 51, 51, 51, 51, 51, 30, 0, 0}}, /* 211 */ - {0, 12, {12, 30, 0, 30, 51, 51, 51, 51, 51, 51, 51, 30, 0, 0}}, /* 212 */ - {0, 12, {10, 20, 0, 30, 51, 51, 51, 51, 51, 51, 51, 30, 0, 0}}, /* 213 */ - {0, 12, {18, 18, 0, 30, 51, 51, 51, 51, 51, 51, 51, 30, 0, 0}}, /* 214 */ - {0, 12, {0, 0, 0, 0, 0, 99, 54, 28, 28, 54, 99, 65, 0, 0}}, /* 215 */ - {0, 12, {1, 1, 30, 55, 55, 55, 55, 59, 59, 59, 59, 30, 32, 32}}, /* 216 */ - {0, 12, {28, 14, 0, 51, 51, 51, 51, 51, 51, 51, 51, 30, 0, 0}}, /* 217 */ - {0, 12, {14, 28, 0, 51, 51, 51, 51, 51, 51, 51, 51, 30, 0, 0}}, /* 218 */ - {0, 12, {12, 30, 0, 51, 51, 51, 51, 51, 51, 51, 51, 30, 0, 0}}, /* 219 */ - {0, 12, {18, 18, 0, 51, 51, 51, 51, 51, 51, 51, 51, 30, 0, 0}}, /* 220 */ - {0, 12, {14, 28, 0, 51, 51, 51, 30, 30, 30, 12, 12, 12, 0, 0}}, /* 221 */ - {0, 12, {0, 0, 48, 48, 62, 51, 51, 51, 51, 62, 48, 48, 0, 0}}, /* 222 */ - {0, 12, {0, 0, 14, 27, 27, 27, 30, 27, 27, 27, 27, 62, 0, 0}}, /* 223 */ - {0, 12, {0, 24, 12, 6, 0, 30, 51, 15, 27, 51, 51, 31, 0, 0}}, /* 224 */ - {0, 12, {0, 6, 12, 24, 0, 30, 51, 15, 27, 51, 51, 31, 0, 0}}, /* 225 */ - {0, 12, {0, 0, 12, 30, 0, 30, 51, 15, 27, 51, 51, 31, 0, 0}}, /* 226 */ - {0, 12, {0, 0, 10, 20, 0, 30, 51, 15, 27, 51, 51, 31, 0, 0}}, /* 227 */ - {0, 12, {0, 0, 18, 18, 0, 30, 51, 15, 27, 51, 51, 31, 0, 0}}, /* 228 */ - {0, 12, {0, 12, 30, 12, 0, 30, 51, 15, 27, 51, 51, 31, 0, 0}}, /* 229 */ - {0, 12, {0, 0, 0, 0, 0, 62, 109, 29, 47, 108, 111, 62, 0, 0}}, /* 230 */ - {0, 12, {0, 0, 0, 0, 0, 30, 51, 48, 48, 48, 51, 30, 12, 24}}, /* 231 */ - {0, 12, {0, 24, 12, 6, 0, 30, 51, 51, 63, 48, 51, 30, 0, 0}}, /* 232 */ - {0, 12, {0, 6, 12, 24, 0, 30, 51, 51, 63, 48, 51, 30, 0, 0}}, /* 233 */ - {0, 12, {0, 0, 12, 30, 0, 30, 51, 51, 63, 48, 51, 30, 0, 0}}, /* 234 */ - {0, 12, {0, 0, 18, 18, 0, 30, 51, 51, 63, 48, 51, 30, 0, 0}}, /* 235 */ - {0, 12, {0, 24, 12, 6, 0, 12, 12, 12, 12, 12, 12, 12, 0, 0}}, /* 236 */ - {0, 12, {0, 6, 12, 24, 0, 12, 12, 12, 12, 12, 12, 12, 0, 0}}, /* 237 */ - {0, 12, {0, 0, 12, 30, 0, 12, 12, 12, 12, 12, 12, 12, 0, 0}}, /* 238 */ - {0, 12, {0, 0, 18, 18, 0, 12, 12, 12, 12, 12, 12, 12, 0, 0}}, /* 239 */ - {0, 12, {0, 20, 8, 22, 6, 30, 54, 54, 54, 54, 54, 28, 0, 0}}, /* 240 */ - {0, 12, {0, 0, 10, 20, 0, 62, 51, 51, 51, 51, 51, 51, 0, 0}}, /* 241 */ - {0, 12, {0, 24, 12, 6, 0, 30, 51, 51, 51, 51, 51, 30, 0, 0}}, /* 242 */ - {0, 12, {0, 6, 12, 24, 0, 30, 51, 51, 51, 51, 51, 30, 0, 0}}, /* 243 */ - {0, 12, {0, 0, 12, 30, 0, 30, 51, 51, 51, 51, 51, 30, 0, 0}}, /* 244 */ - {0, 12, {0, 0, 10, 20, 0, 30, 51, 51, 51, 51, 51, 30, 0, 0}}, /* 245 */ - {0, 12, {0, 0, 18, 18, 0, 30, 51, 51, 51, 51, 51, 30, 0, 0}}, /* 246 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 24, 0, 126, 0, 24, 0, 0}}, /* 247 */ - {0, 12, {0, 0, 0, 1, 2, 30, 55, 55, 59, 59, 51, 30, 32, 32}}, /* 248 */ - {0, 12, {0, 16, 24, 12, 4, 51, 51, 51, 51, 51, 51, 31, 0, 0}}, /* 249 */ - {0, 12, {0, 2, 6, 12, 8, 51, 51, 51, 51, 51, 51, 31, 0, 0}}, /* 250 */ - {0, 12, {0, 0, 12, 30, 0, 51, 51, 51, 51, 51, 51, 31, 0, 0}}, /* 251 */ - {0, 12, {0, 0, 18, 18, 0, 51, 51, 51, 51, 51, 51, 31, 0, 0}}, /* 252 */ - {0, 12, {0, 2, 6, 12, 8, 51, 51, 51, 30, 14, 14, 12, 60, 24}}, /* 253 */ - {0, 12, {0, 0, 48, 48, 48, 62, 51, 51, 51, 51, 51, 62, 48, 48}}, /* 254 */ - {0, 12, {0, 0, 18, 18, 0, 51, 51, 51, 30, 14, 14, 12, 60, 24}} /* 255 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 0 */ + {0, 11, {0, 0, 0, 0, 0, 24, 60, 126, 60, 24, 0, 0, 0}}, /* 1 */ + {0, 11, {0, 102, 24, 102, 24, 102, 24, 102, 24, 102, 24, 102, 0}}, /* 2 */ + {0, 11, {0, 108, 108, 124, 108, 108, 0, 30, 12, 12, 12, 12, 0}}, /* 3 */ + {0, 11, {0, 120, 96, 112, 96, 96, 0, 30, 24, 28, 24, 24, 0}}, /* 4 */ + {0, 11, {0, 56, 96, 96, 96, 56, 0, 28, 26, 28, 26, 26, 0}}, /* 5 */ + {0, 11, {0, 96, 96, 96, 96, 120, 0, 30, 24, 28, 24, 24, 0}}, /* 6 */ + {0, 11, {0, 0, 60, 102, 102, 60, 0, 0, 0, 0, 0, 0, 0}}, /* 7 */ + {0, 11, {0, 0, 24, 24, 126, 126, 24, 24, 0, 126, 126, 0, 0}}, /* 8 */ + {0, 11, {0, 102, 118, 126, 110, 102, 0, 24, 24, 24, 24, 30, 0}}, /* 9 */ + {0, 11, {0, 102, 102, 36, 60, 24, 0, 30, 12, 12, 12, 12, 0}}, /* 10 */ + {0, 11, {24, 24, 24, 24, 24, 24, 120, 120, 0, 0, 0, 0, 0}}, /* 11 */ + {0, 11, {0, 0, 0, 0, 0, 0, 120, 120, 24, 24, 24, 24, 24}}, /* 12 */ + {0, 11, {0, 0, 0, 0, 0, 0, 31, 31, 24, 24, 24, 24, 24}}, /* 13 */ + {0, 11, {24, 24, 24, 24, 24, 24, 31, 31, 0, 0, 0, 0, 0}}, /* 14 */ + {0, 11, {24, 24, 24, 24, 24, 24, 127, 127, 24, 24, 24, 24, 24}}, /* 15 */ + {0, 11, {0, 0, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 16 */ + {0, 11, {0, 0, 0, 0, 127, 127, 0, 0, 0, 0, 0, 0, 0}}, /* 17 */ + {0, 11, {0, 0, 0, 0, 0, 0, 127, 127, 0, 0, 0, 0, 0}}, /* 18 */ + {0, 11, {0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 0, 0, 0}}, /* 19 */ + {0, 11, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 0}}, /* 20 */ + {0, 11, {24, 24, 24, 24, 24, 24, 31, 31, 24, 24, 24, 24, 24}}, /* 21 */ + {0, 11, {24, 24, 24, 24, 24, 24, 120, 120, 24, 24, 24, 24, 24}}, /* 22 */ + {0, 11, {24, 24, 24, 24, 24, 24, 127, 127, 0, 0, 0, 0, 0}}, /* 23 */ + {0, 11, {0, 0, 0, 0, 0, 0, 127, 127, 24, 24, 24, 24, 24}}, /* 24 */ + {0, 11, {24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24}}, /* 25 */ + {0, 11, {0, 0, 6, 12, 48, 96, 48, 12, 6, 126, 126, 0, 0}}, /* 26 */ + {0, 11, {0, 0, 96, 48, 12, 6, 12, 48, 96, 126, 126, 0, 0}}, /* 27 */ + {0, 11, {0, 0, 0, 0, 0, 126, 54, 54, 54, 118, 102, 0, 0}}, /* 28 */ + {0, 11, {0, 0, 2, 6, 126, 126, 24, 126, 126, 96, 64, 0, 0}}, /* 29 */ + {0, 11, {0, 0, 28, 54, 48, 48, 124, 48, 48, 54, 92, 0, 0}}, /* 30 */ + {0, 11, {0, 0, 0, 0, 0, 0, 24, 24, 0, 0, 0, 0, 0}}, /* 31 */ + {0, 11, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 32 */ + {0, 11, {0, 0, 24, 24, 24, 24, 24, 24, 0, 24, 24, 0, 0}}, /* 33 */ + {0, 11, {0, 0, 54, 54, 54, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 34 */ + {0, 11, {0, 0, 20, 20, 62, 62, 20, 62, 62, 20, 20, 0, 0}}, /* 35 */ + {0, 11, {0, 0, 24, 60, 90, 88, 60, 26, 90, 60, 24, 0, 0}}, /* 36 */ + {0, 11, {0, 0, 114, 86, 116, 12, 24, 48, 46, 106, 78, 0, 0}}, /* 37 */ + {0, 11, {0, 0, 56, 108, 108, 108, 56, 106, 110, 108, 58, 0, 0}}, /* 38 */ + {0, 11, {0, 0, 28, 28, 24, 48, 0, 0, 0, 0, 0, 0, 0}}, /* 39 */ + {0, 11, {0, 0, 12, 24, 24, 48, 48, 48, 24, 24, 12, 0, 0}}, /* 40 */ + {0, 11, {0, 0, 48, 24, 24, 12, 12, 12, 24, 24, 48, 0, 0}}, /* 41 */ + {0, 11, {0, 0, 0, 0, 36, 24, 126, 126, 24, 36, 0, 0, 0}}, /* 42 */ + {0, 11, {0, 0, 0, 0, 24, 24, 126, 126, 24, 24, 0, 0, 0}}, /* 43 */ + {0, 11, {0, 0, 0, 0, 0, 0, 0, 0, 28, 28, 24, 48, 0}}, /* 44 */ + {0, 11, {0, 0, 0, 0, 0, 0, 126, 126, 0, 0, 0, 0, 0}}, /* 45 */ + {0, 11, {0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 60, 24, 0}}, /* 46 */ + {0, 11, {0, 0, 6, 6, 12, 12, 24, 48, 48, 96, 96, 0, 0}}, /* 47 */ + {0, 11, {0, 0, 24, 36, 102, 102, 102, 102, 102, 36, 24, 0, 0}}, /* 48 */ + {0, 11, {0, 0, 24, 56, 88, 24, 24, 24, 24, 24, 126, 0, 0}}, /* 49 */ + {0, 11, {0, 0, 60, 102, 102, 6, 28, 48, 96, 96, 126, 0, 0}}, /* 50 */ + {0, 11, {0, 0, 126, 6, 12, 24, 60, 6, 6, 102, 60, 0, 0}}, /* 51 */ + {0, 11, {0, 0, 6, 14, 30, 54, 102, 102, 126, 6, 6, 0, 0}}, /* 52 */ + {0, 11, {0, 0, 126, 96, 96, 124, 102, 6, 6, 102, 60, 0, 0}}, /* 53 */ + {0, 11, {0, 0, 60, 102, 96, 96, 124, 102, 102, 102, 60, 0, 0}}, /* 54 */ + {0, 11, {0, 0, 126, 6, 6, 12, 12, 24, 24, 48, 48, 0, 0}}, /* 55 */ + {0, 11, {0, 0, 60, 102, 102, 102, 60, 102, 102, 102, 60, 0, 0}}, /* 56 */ + {0, 11, {0, 0, 60, 102, 102, 102, 62, 6, 6, 102, 60, 0, 0}}, /* 57 */ + {0, 11, {0, 0, 0, 0, 24, 60, 24, 0, 0, 24, 60, 24, 0}}, /* 58 */ + {0, 11, {0, 0, 0, 0, 24, 60, 24, 0, 28, 28, 24, 48, 0}}, /* 59 */ + {0, 11, {0, 0, 6, 12, 24, 48, 96, 48, 24, 12, 6, 0, 0}}, /* 60 */ + {0, 11, {0, 0, 0, 0, 126, 126, 0, 126, 126, 0, 0, 0, 0}}, /* 61 */ + {0, 11, {0, 0, 96, 48, 24, 12, 6, 12, 24, 48, 96, 0, 0}}, /* 62 */ + {0, 11, {0, 0, 60, 102, 102, 6, 28, 24, 0, 24, 24, 0, 0}}, /* 63 */ + {0, 11, {0, 0, 60, 70, 70, 94, 86, 94, 64, 70, 60, 0, 0}}, /* 64 */ + {0, 11, {0, 0, 60, 102, 102, 102, 126, 102, 102, 102, 102, 0, 0}}, /* 65 */ + {0, 11, {0, 0, 124, 102, 102, 102, 124, 102, 102, 102, 124, 0, 0}}, /* 66 */ + {0, 11, {0, 0, 60, 102, 96, 96, 96, 96, 96, 102, 60, 0, 0}}, /* 67 */ + {0, 11, {0, 0, 124, 102, 102, 102, 102, 102, 102, 102, 124, 0, 0}}, /* 68 */ + {0, 11, {0, 0, 126, 96, 96, 96, 124, 96, 96, 96, 126, 0, 0}}, /* 69 */ + {0, 11, {0, 0, 126, 96, 96, 96, 124, 96, 96, 96, 96, 0, 0}}, /* 70 */ + {0, 11, {0, 0, 60, 102, 96, 96, 110, 102, 102, 102, 62, 0, 0}}, /* 71 */ + {0, 11, {0, 0, 102, 102, 102, 102, 126, 102, 102, 102, 102, 0, 0}}, /* 72 */ + {0, 11, {0, 0, 126, 24, 24, 24, 24, 24, 24, 24, 126, 0, 0}}, /* 73 */ + {0, 11, {0, 0, 6, 6, 6, 6, 6, 6, 6, 102, 60, 0, 0}}, /* 74 */ + {0, 11, {0, 0, 98, 102, 108, 120, 112, 120, 108, 102, 98, 0, 0}}, /* 75 */ + {0, 11, {0, 0, 96, 96, 96, 96, 96, 96, 96, 96, 126, 0, 0}}, /* 76 */ + {0, 11, {0, 0, 66, 102, 126, 126, 102, 102, 102, 102, 102, 0, 0}}, /* 77 */ + {0, 11, {0, 0, 102, 102, 118, 118, 126, 110, 110, 102, 102, 0, 0}}, /* 78 */ + {0, 11, {0, 0, 60, 102, 102, 102, 102, 102, 102, 102, 60, 0, 0}}, /* 79 */ + {0, 11, {0, 0, 124, 102, 102, 102, 124, 96, 96, 96, 96, 0, 0}}, /* 80 */ + {0, 11, {0, 0, 60, 102, 102, 102, 102, 102, 118, 110, 60, 6, 0}}, /* 81 */ + {0, 11, {0, 0, 124, 102, 102, 102, 124, 120, 108, 102, 98, 0, 0}}, /* 82 */ + {0, 11, {0, 0, 60, 102, 96, 96, 60, 6, 6, 102, 60, 0, 0}}, /* 83 */ + {0, 11, {0, 0, 126, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0}}, /* 84 */ + {0, 11, {0, 0, 102, 102, 102, 102, 102, 102, 102, 102, 60, 0, 0}}, /* 85 */ + {0, 11, {0, 0, 102, 102, 102, 36, 36, 60, 24, 24, 24, 0, 0}}, /* 86 */ + {0, 11, {0, 0, 102, 102, 102, 102, 102, 126, 126, 102, 66, 0, 0}}, /* 87 */ + {0, 11, {0, 0, 66, 102, 36, 60, 24, 60, 36, 102, 66, 0, 0}}, /* 88 */ + {0, 11, {0, 0, 102, 102, 60, 60, 24, 24, 24, 24, 24, 0, 0}}, /* 89 */ + {0, 11, {0, 0, 126, 6, 6, 12, 24, 48, 96, 96, 126, 0, 0}}, /* 90 */ + {0, 11, {0, 0, 60, 48, 48, 48, 48, 48, 48, 48, 60, 0, 0}}, /* 91 */ + {0, 11, {0, 0, 96, 96, 48, 48, 24, 12, 12, 6, 6, 0, 0}}, /* 92 */ + {0, 11, {0, 0, 60, 12, 12, 12, 12, 12, 12, 12, 60, 0, 0}}, /* 93 */ + {0, 11, {0, 0, 24, 60, 102, 66, 0, 0, 0, 0, 0, 0, 0}}, /* 94 */ + {0, 11, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 126, 0}}, /* 95 */ + {0, 11, {0, 0, 56, 56, 24, 12, 0, 0, 0, 0, 0, 0, 0}}, /* 96 */ + {0, 11, {0, 0, 0, 0, 0, 60, 6, 62, 102, 102, 62, 0, 0}}, /* 97 */ + {0, 11, {0, 0, 96, 96, 96, 124, 102, 102, 102, 102, 124, 0, 0}}, /* 98 */ + {0, 11, {0, 0, 0, 0, 0, 60, 102, 96, 96, 102, 60, 0, 0}}, /* 99 */ + {0, 11, {0, 0, 6, 6, 6, 62, 102, 102, 102, 102, 62, 0, 0}}, /* 100 */ + {0, 11, {0, 0, 0, 0, 0, 60, 102, 126, 96, 102, 60, 0, 0}}, /* 101 */ + {0, 11, {0, 0, 28, 54, 48, 48, 120, 48, 48, 48, 48, 0, 0}}, /* 102 */ + {0, 11, {0, 0, 0, 0, 0, 58, 102, 102, 60, 96, 60, 102, 60}}, /* 103 */ + {0, 11, {0, 0, 96, 96, 96, 124, 102, 102, 102, 102, 102, 0, 0}}, /* 104 */ + {0, 11, {0, 0, 24, 24, 0, 56, 24, 24, 24, 24, 126, 0, 0}}, /* 105 */ + {0, 11, {0, 0, 6, 6, 0, 6, 6, 6, 6, 6, 6, 102, 60}}, /* 106 */ + {0, 11, {0, 0, 96, 96, 96, 102, 108, 120, 120, 108, 102, 0, 0}}, /* 107 */ + {0, 11, {0, 0, 56, 24, 24, 24, 24, 24, 24, 24, 126, 0, 0}}, /* 108 */ + {0, 11, {0, 0, 0, 0, 0, 108, 126, 126, 102, 102, 102, 0, 0}}, /* 109 */ + {0, 11, {0, 0, 0, 0, 0, 124, 102, 102, 102, 102, 102, 0, 0}}, /* 110 */ + {0, 11, {0, 0, 0, 0, 0, 60, 102, 102, 102, 102, 60, 0, 0}}, /* 111 */ + {0, 11, {0, 0, 0, 0, 0, 124, 102, 102, 102, 124, 96, 96, 96}}, /* 112 */ + {0, 11, {0, 0, 0, 0, 0, 62, 102, 102, 102, 62, 6, 6, 6}}, /* 113 */ + {0, 11, {0, 0, 0, 0, 0, 124, 102, 96, 96, 96, 96, 0, 0}}, /* 114 */ + {0, 11, {0, 0, 0, 0, 0, 60, 102, 48, 12, 102, 60, 0, 0}}, /* 115 */ + {0, 11, {0, 0, 0, 48, 48, 124, 48, 48, 48, 54, 28, 0, 0}}, /* 116 */ + {0, 11, {0, 0, 0, 0, 0, 102, 102, 102, 102, 102, 62, 0, 0}}, /* 117 */ + {0, 11, {0, 0, 0, 0, 0, 102, 102, 102, 60, 60, 24, 0, 0}}, /* 118 */ + {0, 11, {0, 0, 0, 0, 0, 102, 102, 102, 126, 126, 36, 0, 0}}, /* 119 */ + {0, 11, {0, 0, 0, 0, 0, 102, 102, 60, 60, 102, 102, 0, 0}}, /* 120 */ + {0, 11, {0, 0, 0, 0, 0, 102, 102, 102, 102, 62, 6, 102, 60}}, /* 121 */ + {0, 11, {0, 0, 0, 0, 0, 126, 6, 12, 48, 96, 126, 0, 0}}, /* 122 */ + {0, 11, {0, 0, 28, 48, 48, 24, 48, 24, 48, 48, 28, 0, 0}}, /* 123 */ + {0, 11, {0, 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0}}, /* 124 */ + {0, 11, {0, 0, 56, 12, 12, 24, 12, 24, 12, 12, 56, 0, 0}}, /* 125 */ + {0, 11, {0, 0, 50, 126, 76, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 126 */ + {0, 11, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 127 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 128 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 129 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 130 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 131 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 132 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 133 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 134 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 135 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 136 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 137 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 138 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 139 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 140 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 141 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 142 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 143 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 144 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 145 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 146 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 147 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 148 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 149 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 150 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 151 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 152 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 153 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 154 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 155 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 156 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 157 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 158 */ + {0, 11, {0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0}}, /* 159 */ + {0, 11, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 160 */ + {0, 11, {0, 24, 24, 0, 24, 24, 24, 24, 24, 24, 24, 0, 0}}, /* 161 */ + {0, 11, {0, 0, 8, 62, 106, 104, 104, 106, 62, 8, 0, 0, 0}}, /* 162 */ + {0, 11, {0, 0, 28, 54, 48, 48, 124, 48, 48, 54, 92, 0, 0}}, /* 163 */ + {0, 11, {0, 0, 0, 0, 102, 126, 36, 36, 126, 102, 0, 0, 0}}, /* 164 */ + {0, 11, {0, 0, 102, 102, 60, 60, 126, 24, 126, 24, 24, 0, 0}}, /* 165 */ + {0, 11, {0, 24, 24, 24, 24, 0, 0, 24, 24, 24, 24, 0, 0}}, /* 166 */ + {0, 11, {0, 60, 102, 96, 60, 102, 102, 60, 6, 102, 60, 0, 0}}, /* 167 */ + {0, 11, {0, 54, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 168 */ + {0, 11, {0, 60, 102, 66, 90, 114, 114, 90, 66, 102, 60, 0, 0}}, /* 169 */ + {0, 11, {0, 0, 60, 6, 62, 38, 62, 0, 62, 0, 0, 0, 0}}, /* 170 */ + {0, 11, {0, 0, 0, 26, 52, 104, 80, 104, 52, 26, 0, 0, 0}}, /* 171 */ + {0, 11, {0, 0, 0, 0, 0, 126, 126, 2, 2, 0, 0, 0, 0}}, /* 172 */ + {0, 11, {0, 0, 0, 0, 0, 62, 62, 0, 0, 0, 0, 0, 0}}, /* 173 */ + {0, 11, {0, 60, 102, 66, 94, 86, 94, 90, 86, 102, 60, 0, 0}}, /* 174 */ + {0, 11, {0, 62, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 175 */ + {0, 11, {0, 0, 60, 102, 102, 60, 0, 0, 0, 0, 0, 0, 0}}, /* 176 */ + {0, 11, {0, 0, 24, 24, 126, 126, 24, 24, 0, 126, 126, 0, 0}}, /* 177 */ + {0, 11, {0, 112, 88, 24, 48, 96, 120, 0, 0, 0, 0, 0, 0}}, /* 178 */ + {0, 11, {0, 112, 88, 48, 24, 88, 112, 0, 0, 0, 0, 0, 0}}, /* 179 */ + {0, 11, {0, 12, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 180 */ + {0, 11, {0, 0, 0, 0, 0, 102, 102, 102, 102, 102, 126, 64, 0}}, /* 181 */ + {0, 11, {0, 0, 62, 126, 122, 122, 122, 58, 26, 26, 26, 0, 0}}, /* 182 */ + {0, 11, {0, 0, 0, 0, 0, 24, 24, 0, 0, 0, 0, 0, 0}}, /* 183 */ + {0, 11, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 48}}, /* 184 */ + {0, 11, {0, 48, 112, 48, 48, 48, 120, 0, 0, 0, 0, 0, 0}}, /* 185 */ + {0, 11, {0, 28, 62, 34, 62, 28, 0, 62, 0, 0, 0, 0, 0}}, /* 186 */ + {0, 11, {0, 0, 0, 88, 44, 22, 10, 22, 44, 88, 0, 0, 0}}, /* 187 */ + {0, 11, {0, 48, 112, 48, 48, 50, 126, 14, 26, 30, 6, 0, 0}}, /* 188 */ + {0, 11, {0, 48, 112, 48, 48, 60, 118, 6, 12, 24, 30, 0, 0}}, /* 189 */ + {0, 11, {0, 112, 88, 48, 24, 90, 118, 14, 26, 30, 6, 0, 0}}, /* 190 */ + {0, 11, {0, 24, 24, 0, 24, 24, 48, 96, 102, 102, 60, 0, 0}}, /* 191 */ + {0, 11, {0, 24, 12, 0, 24, 60, 102, 102, 126, 102, 102, 0, 0}}, /* 192 */ + {0, 11, {0, 12, 24, 0, 24, 60, 102, 102, 126, 102, 102, 0, 0}}, /* 193 */ + {0, 11, {0, 56, 108, 0, 24, 60, 102, 102, 126, 102, 102, 0, 0}}, /* 194 */ + {0, 11, {0, 52, 88, 0, 24, 60, 102, 102, 126, 102, 102, 0, 0}}, /* 195 */ + {0, 11, {0, 102, 102, 0, 24, 60, 102, 102, 126, 102, 102, 0, 0}}, /* 196 */ + {0, 11, {0, 60, 36, 60, 24, 60, 102, 102, 126, 102, 102, 0, 0}}, /* 197 */ + {0, 11, {0, 0, 62, 124, 108, 108, 110, 124, 108, 108, 110, 0, 0}}, /* 198 */ + {0, 11, {0, 0, 60, 102, 96, 96, 96, 96, 96, 102, 60, 24, 48}}, /* 199 */ + {0, 11, {0, 24, 12, 0, 126, 96, 96, 120, 96, 96, 126, 0, 0}}, /* 200 */ + {0, 11, {0, 12, 24, 0, 126, 96, 96, 120, 96, 96, 126, 0, 0}}, /* 201 */ + {0, 11, {0, 56, 108, 0, 126, 96, 96, 120, 96, 96, 126, 0, 0}}, /* 202 */ + {0, 11, {0, 102, 102, 0, 126, 96, 96, 120, 96, 96, 126, 0, 0}}, /* 203 */ + {0, 11, {0, 24, 12, 0, 126, 24, 24, 24, 24, 24, 126, 0, 0}}, /* 204 */ + {0, 11, {0, 12, 24, 0, 126, 24, 24, 24, 24, 24, 126, 0, 0}}, /* 205 */ + {0, 11, {0, 56, 108, 0, 126, 24, 24, 24, 24, 24, 126, 0, 0}}, /* 206 */ + {0, 11, {0, 102, 102, 0, 126, 24, 24, 24, 24, 24, 126, 0, 0}}, /* 207 */ + {0, 11, {0, 0, 124, 54, 54, 54, 118, 54, 54, 54, 124, 0, 0}}, /* 208 */ + {0, 11, {0, 52, 88, 0, 102, 102, 118, 126, 110, 102, 102, 0, 0}}, /* 209 */ + {0, 11, {0, 24, 12, 0, 60, 102, 102, 102, 102, 102, 60, 0, 0}}, /* 210 */ + {0, 11, {0, 12, 24, 0, 60, 102, 102, 102, 102, 102, 60, 0, 0}}, /* 211 */ + {0, 11, {0, 56, 108, 0, 60, 102, 102, 102, 102, 102, 60, 0, 0}}, /* 212 */ + {0, 11, {0, 52, 88, 0, 60, 102, 102, 102, 102, 102, 60, 0, 0}}, /* 213 */ + {0, 11, {0, 102, 102, 0, 60, 102, 102, 102, 102, 102, 60, 0, 0}}, /* 214 */ + {0, 11, {0, 0, 0, 0, 0, 102, 60, 24, 60, 102, 0, 0, 0}}, /* 215 */ + {0, 11, {0, 0, 2, 60, 110, 110, 110, 118, 118, 118, 60, 64, 0}}, /* 216 */ + {0, 11, {0, 24, 12, 0, 102, 102, 102, 102, 102, 102, 60, 0, 0}}, /* 217 */ + {0, 11, {0, 12, 24, 0, 102, 102, 102, 102, 102, 102, 60, 0, 0}}, /* 218 */ + {0, 11, {0, 56, 108, 0, 102, 102, 102, 102, 102, 102, 60, 0, 0}}, /* 219 */ + {0, 11, {0, 102, 102, 0, 102, 102, 102, 102, 102, 102, 60, 0, 0}}, /* 220 */ + {0, 11, {0, 12, 24, 0, 102, 36, 60, 24, 24, 24, 24, 0, 0}}, /* 221 */ + {0, 11, {0, 0, 96, 124, 102, 102, 102, 124, 96, 96, 96, 0, 0}}, /* 222 */ + {0, 11, {0, 0, 0, 60, 102, 102, 124, 102, 102, 102, 124, 64, 0}}, /* 223 */ + {0, 11, {0, 24, 12, 0, 0, 60, 6, 62, 102, 110, 62, 0, 0}}, /* 224 */ + {0, 11, {0, 12, 24, 0, 0, 60, 6, 62, 102, 110, 62, 0, 0}}, /* 225 */ + {0, 11, {0, 56, 108, 0, 0, 60, 6, 62, 102, 110, 62, 0, 0}}, /* 226 */ + {0, 11, {0, 52, 88, 0, 0, 60, 6, 62, 102, 110, 62, 0, 0}}, /* 227 */ + {0, 11, {0, 54, 54, 0, 0, 60, 6, 62, 102, 110, 62, 0, 0}}, /* 228 */ + {0, 11, {0, 28, 20, 28, 0, 60, 6, 62, 102, 110, 62, 0, 0}}, /* 229 */ + {0, 11, {0, 0, 0, 0, 0, 60, 26, 62, 88, 90, 52, 0, 0}}, /* 230 */ + {0, 11, {0, 0, 0, 0, 0, 60, 102, 96, 96, 102, 60, 24, 48}}, /* 231 */ + {0, 11, {0, 24, 12, 0, 0, 60, 102, 126, 96, 102, 60, 0, 0}}, /* 232 */ + {0, 11, {0, 12, 24, 0, 0, 60, 102, 126, 96, 102, 60, 0, 0}}, /* 233 */ + {0, 11, {0, 56, 108, 0, 0, 60, 102, 126, 96, 102, 60, 0, 0}}, /* 234 */ + {0, 11, {0, 54, 54, 0, 0, 60, 102, 126, 96, 102, 60, 0, 0}}, /* 235 */ + {0, 11, {0, 24, 12, 0, 0, 56, 24, 24, 24, 24, 60, 0, 0}}, /* 236 */ + {0, 11, {0, 12, 24, 0, 0, 56, 24, 24, 24, 24, 60, 0, 0}}, /* 237 */ + {0, 11, {0, 56, 108, 0, 0, 56, 24, 24, 24, 24, 60, 0, 0}}, /* 238 */ + {0, 11, {0, 54, 54, 0, 0, 56, 24, 24, 24, 24, 60, 0, 0}}, /* 239 */ + {0, 11, {0, 36, 24, 24, 40, 60, 102, 102, 102, 102, 60, 0, 0}}, /* 240 */ + {0, 11, {0, 52, 88, 0, 0, 124, 118, 102, 102, 102, 102, 0, 0}}, /* 241 */ + {0, 11, {0, 24, 12, 0, 0, 60, 102, 102, 102, 102, 60, 0, 0}}, /* 242 */ + {0, 11, {0, 12, 24, 0, 0, 60, 102, 102, 102, 102, 60, 0, 0}}, /* 243 */ + {0, 11, {0, 56, 108, 0, 0, 60, 102, 102, 102, 102, 60, 0, 0}}, /* 244 */ + {0, 11, {0, 52, 88, 0, 0, 60, 102, 102, 102, 102, 60, 0, 0}}, /* 245 */ + {0, 11, {0, 54, 54, 0, 0, 60, 102, 102, 102, 102, 60, 0, 0}}, /* 246 */ + {0, 11, {0, 0, 0, 24, 24, 0, 126, 0, 24, 24, 0, 0, 0}}, /* 247 */ + {0, 11, {0, 0, 0, 2, 60, 102, 110, 102, 118, 102, 60, 64, 0}}, /* 248 */ + {0, 11, {0, 24, 12, 0, 0, 102, 102, 102, 102, 110, 62, 0, 0}}, /* 249 */ + {0, 11, {0, 12, 24, 0, 0, 102, 102, 102, 102, 110, 62, 0, 0}}, /* 250 */ + {0, 11, {0, 56, 108, 0, 0, 102, 102, 102, 102, 110, 62, 0, 0}}, /* 251 */ + {0, 11, {0, 54, 54, 0, 0, 102, 102, 102, 102, 110, 62, 0, 0}}, /* 252 */ + {0, 11, {0, 12, 24, 0, 0, 102, 102, 102, 110, 62, 6, 102, 60}}, /* 253 */ + {0, 11, {0, 0, 0, 96, 96, 124, 118, 102, 102, 118, 124, 96, 96}}, /* 254 */ + {0, 11, {0, 54, 54, 0, 0, 102, 102, 102, 110, 62, 6, 102, 60}} /* 255 */ }; diff --git a/src/text/font/font.c b/src/text/font/font.c index e1c5d89..039db26 100644 --- a/src/text/font/font.c +++ b/src/text/font/font.c @@ -2,263 +2,263 @@ /** * Copyright notice: - * "Public domain font. Share and enjoy." + * "(null)" */ MwFont MwFontData[] = { - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 0 */ - {0, 12, {0, 0, 12, 12, 30, 30, 63, 63, 30, 30, 12, 12, 0, 0}}, /* 1 */ - {0, 12, {42, 85, 42, 85, 42, 85, 42, 85, 42, 85, 42, 85, 42, 85}}, /* 2 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 3 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 4 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 5 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 6 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 7 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 8 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 9 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 10 */ - {0, 12, {8, 8, 8, 8, 8, 8, 8, 120, 0, 0, 0, 0, 0, 0}}, /* 11 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 120, 8, 8, 8, 8, 8, 8}}, /* 12 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 15, 8, 8, 8, 8, 8, 8}}, /* 13 */ - {0, 12, {8, 8, 8, 8, 8, 8, 8, 15, 0, 0, 0, 0, 0, 0}}, /* 14 */ - {0, 12, {8, 8, 8, 8, 8, 8, 8, 127, 8, 8, 8, 8, 8, 8}}, /* 15 */ - {0, 12, {127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 16 */ - {0, 12, {0, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 17 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0}}, /* 18 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 0, 0, 0, 0}}, /* 19 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127}}, /* 20 */ - {0, 12, {8, 8, 8, 8, 8, 8, 8, 15, 8, 8, 8, 8, 8, 8}}, /* 21 */ - {0, 12, {8, 8, 8, 8, 8, 8, 8, 120, 8, 8, 8, 8, 8, 8}}, /* 22 */ - {0, 12, {8, 8, 8, 8, 8, 8, 8, 127, 0, 0, 0, 0, 0, 0}}, /* 23 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 127, 8, 8, 8, 8, 8, 8}}, /* 24 */ - {0, 12, {8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8}}, /* 25 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 26 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 27 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 28 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 29 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 30 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 31 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 32 */ - {0, 12, {0, 0, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 0, 0}}, /* 33 */ - {0, 12, {54, 18, 18, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 34 */ - {0, 12, {0, 0, 5, 5, 5, 63, 10, 10, 63, 20, 20, 20, 0, 0}}, /* 35 */ - {0, 12, {0, 0, 4, 30, 37, 37, 20, 14, 5, 37, 37, 30, 4, 0}}, /* 36 */ - {0, 12, {0, 0, 25, 37, 38, 28, 4, 8, 14, 25, 41, 38, 0, 0}}, /* 37 */ - {0, 12, {0, 0, 12, 18, 18, 18, 12, 25, 37, 34, 38, 25, 0, 0}}, /* 38 */ - {0, 12, {24, 8, 8, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 39 */ - {0, 12, {0, 1, 2, 4, 4, 8, 8, 8, 8, 8, 4, 4, 2, 1}}, /* 40 */ - {0, 12, {0, 32, 16, 8, 8, 4, 4, 4, 4, 4, 8, 8, 16, 32}}, /* 41 */ - {0, 12, {0, 0, 0, 4, 21, 14, 4, 4, 14, 21, 4, 0, 0, 0}}, /* 42 */ - {0, 12, {0, 0, 0, 0, 8, 8, 8, 62, 8, 8, 8, 0, 0, 0}}, /* 43 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 8, 8, 16}}, /* 44 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0}}, /* 45 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0}}, /* 46 */ - {0, 12, {0, 1, 1, 2, 2, 4, 4, 4, 8, 8, 16, 16, 32, 32}}, /* 47 */ - {0, 12, {0, 0, 12, 18, 33, 33, 33, 33, 33, 33, 18, 12, 0, 0}}, /* 48 */ - {0, 12, {0, 0, 4, 12, 20, 4, 4, 4, 4, 4, 4, 31, 0, 0}}, /* 49 */ - {0, 12, {0, 0, 30, 33, 33, 1, 2, 2, 4, 8, 16, 63, 0, 0}}, /* 50 */ - {0, 12, {0, 0, 30, 33, 33, 1, 14, 1, 1, 33, 33, 30, 0, 0}}, /* 51 */ - {0, 12, {0, 0, 2, 6, 10, 10, 18, 18, 34, 63, 2, 2, 0, 0}}, /* 52 */ - {0, 12, {0, 0, 63, 32, 32, 62, 33, 1, 1, 33, 33, 30, 0, 0}}, /* 53 */ - {0, 12, {0, 0, 14, 17, 33, 32, 46, 49, 33, 33, 33, 30, 0, 0}}, /* 54 */ - {0, 12, {0, 0, 63, 33, 34, 2, 4, 4, 4, 4, 4, 4, 0, 0}}, /* 55 */ - {0, 12, {0, 0, 30, 33, 33, 18, 12, 18, 33, 33, 33, 30, 0, 0}}, /* 56 */ - {0, 12, {0, 0, 30, 33, 33, 33, 35, 29, 1, 33, 34, 28, 0, 0}}, /* 57 */ - {0, 12, {0, 0, 0, 0, 8, 8, 0, 0, 0, 8, 8, 0, 0, 0}}, /* 58 */ - {0, 12, {0, 0, 0, 0, 8, 8, 0, 0, 0, 24, 8, 8, 16, 0}}, /* 59 */ - {0, 12, {0, 0, 0, 2, 4, 8, 16, 32, 16, 8, 4, 2, 0, 0}}, /* 60 */ - {0, 12, {0, 0, 0, 0, 0, 63, 0, 0, 63, 0, 0, 0, 0, 0}}, /* 61 */ - {0, 12, {0, 0, 0, 32, 16, 8, 4, 2, 4, 8, 16, 32, 0, 0}}, /* 62 */ - {0, 12, {0, 0, 30, 33, 33, 2, 4, 4, 4, 0, 4, 4, 0, 0}}, /* 63 */ - {0, 12, {0, 0, 14, 17, 39, 41, 41, 41, 41, 39, 16, 15, 0, 0}}, /* 64 */ - {0, 12, {0, 0, 8, 12, 20, 18, 34, 33, 63, 33, 33, 33, 0, 0}}, /* 65 */ - {0, 12, {0, 0, 62, 33, 33, 34, 62, 33, 33, 33, 33, 62, 0, 0}}, /* 66 */ - {0, 12, {0, 0, 30, 33, 33, 32, 32, 32, 32, 33, 33, 30, 0, 0}}, /* 67 */ - {0, 12, {0, 0, 60, 34, 33, 33, 33, 33, 33, 33, 34, 60, 0, 0}}, /* 68 */ - {0, 12, {0, 0, 63, 32, 32, 32, 62, 32, 32, 32, 32, 63, 0, 0}}, /* 69 */ - {0, 12, {0, 0, 63, 32, 32, 32, 62, 32, 32, 32, 32, 32, 0, 0}}, /* 70 */ - {0, 12, {0, 0, 30, 33, 33, 32, 32, 39, 33, 33, 33, 30, 0, 0}}, /* 71 */ - {0, 12, {0, 0, 33, 33, 33, 33, 63, 33, 33, 33, 33, 33, 0, 0}}, /* 72 */ - {0, 12, {0, 0, 31, 4, 4, 4, 4, 4, 4, 4, 4, 31, 0, 0}}, /* 73 */ - {0, 12, {0, 0, 1, 1, 1, 1, 1, 1, 1, 33, 34, 28, 0, 0}}, /* 74 */ - {0, 12, {0, 0, 33, 34, 36, 40, 56, 36, 36, 34, 33, 33, 0, 0}}, /* 75 */ - {0, 12, {0, 0, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 0, 0}}, /* 76 */ - {0, 12, {0, 0, 33, 35, 51, 53, 45, 41, 41, 33, 33, 33, 0, 0}}, /* 77 */ - {0, 12, {0, 0, 49, 49, 41, 41, 41, 37, 37, 37, 35, 35, 0, 0}}, /* 78 */ - {0, 12, {0, 0, 30, 33, 33, 33, 33, 33, 33, 33, 33, 30, 0, 0}}, /* 79 */ - {0, 12, {0, 0, 62, 33, 33, 33, 33, 62, 32, 32, 32, 32, 0, 0}}, /* 80 */ - {0, 12, {0, 0, 30, 33, 33, 33, 33, 33, 57, 37, 35, 30, 2, 1}}, /* 81 */ - {0, 12, {0, 0, 62, 33, 33, 33, 62, 34, 33, 33, 33, 33, 0, 0}}, /* 82 */ - {0, 12, {0, 0, 30, 33, 33, 16, 8, 4, 2, 33, 33, 30, 0, 0}}, /* 83 */ - {0, 12, {0, 0, 63, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0}}, /* 84 */ - {0, 12, {0, 0, 33, 33, 33, 33, 33, 33, 33, 33, 33, 30, 0, 0}}, /* 85 */ - {0, 12, {0, 0, 33, 33, 33, 34, 18, 18, 20, 12, 8, 8, 0, 0}}, /* 86 */ - {0, 12, {0, 0, 37, 37, 37, 37, 37, 63, 18, 18, 18, 18, 0, 0}}, /* 87 */ - {0, 12, {0, 0, 33, 33, 18, 18, 12, 12, 18, 18, 33, 33, 0, 0}}, /* 88 */ - {0, 12, {0, 0, 33, 33, 34, 18, 20, 12, 8, 8, 8, 8, 0, 0}}, /* 89 */ - {0, 12, {0, 0, 63, 1, 2, 4, 4, 8, 16, 16, 32, 63, 0, 0}}, /* 90 */ - {0, 12, {0, 15, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 15}}, /* 91 */ - {0, 12, {0, 32, 32, 16, 16, 8, 8, 8, 4, 4, 2, 2, 1, 1}}, /* 92 */ - {0, 12, {0, 60, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 60}}, /* 93 */ - {0, 12, {12, 18, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 94 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63}}, /* 95 */ - {0, 12, {6, 4, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 96 */ - {0, 12, {0, 0, 0, 0, 0, 30, 33, 7, 25, 33, 35, 29, 0, 0}}, /* 97 */ - {0, 12, {0, 0, 32, 32, 32, 46, 49, 33, 33, 33, 49, 46, 0, 0}}, /* 98 */ - {0, 12, {0, 0, 0, 0, 0, 30, 33, 32, 32, 32, 33, 30, 0, 0}}, /* 99 */ - {0, 12, {0, 0, 1, 1, 1, 29, 35, 33, 33, 33, 35, 29, 0, 0}}, /* 100 */ - {0, 12, {0, 0, 0, 0, 0, 30, 33, 33, 63, 32, 33, 30, 0, 0}}, /* 101 */ - {0, 12, {0, 0, 6, 9, 8, 8, 62, 8, 8, 8, 8, 8, 0, 0}}, /* 102 */ - {0, 12, {0, 0, 0, 0, 0, 29, 34, 34, 34, 28, 16, 46, 33, 30}}, /* 103 */ - {0, 12, {0, 0, 32, 32, 32, 46, 49, 33, 33, 33, 33, 33, 0, 0}}, /* 104 */ - {0, 12, {0, 0, 8, 8, 0, 8, 8, 8, 8, 8, 8, 8, 0, 0}}, /* 105 */ - {0, 12, {0, 0, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 34, 28}}, /* 106 */ - {0, 12, {0, 0, 32, 32, 32, 34, 36, 40, 56, 36, 34, 33, 0, 0}}, /* 107 */ - {0, 12, {0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0}}, /* 108 */ - {0, 12, {0, 0, 0, 0, 0, 62, 41, 41, 41, 41, 41, 41, 0, 0}}, /* 109 */ - {0, 12, {0, 0, 0, 0, 0, 46, 49, 33, 33, 33, 33, 33, 0, 0}}, /* 110 */ - {0, 12, {0, 0, 0, 0, 0, 30, 33, 33, 33, 33, 33, 30, 0, 0}}, /* 111 */ - {0, 12, {0, 0, 0, 0, 0, 46, 49, 33, 33, 33, 49, 46, 32, 32}}, /* 112 */ - {0, 12, {0, 0, 0, 0, 0, 29, 35, 33, 33, 33, 35, 29, 1, 1}}, /* 113 */ - {0, 12, {0, 0, 0, 0, 0, 46, 49, 33, 32, 32, 32, 32, 0, 0}}, /* 114 */ - {0, 12, {0, 0, 0, 0, 0, 30, 33, 16, 12, 2, 33, 30, 0, 0}}, /* 115 */ - {0, 12, {0, 0, 8, 8, 8, 63, 8, 8, 8, 8, 8, 7, 0, 0}}, /* 116 */ - {0, 12, {0, 0, 0, 0, 0, 33, 33, 33, 33, 33, 35, 29, 0, 0}}, /* 117 */ - {0, 12, {0, 0, 0, 0, 0, 33, 33, 17, 18, 10, 12, 4, 0, 0}}, /* 118 */ - {0, 12, {0, 0, 0, 0, 0, 37, 37, 37, 63, 18, 18, 18, 0, 0}}, /* 119 */ - {0, 12, {0, 0, 0, 0, 0, 33, 33, 18, 12, 18, 33, 33, 0, 0}}, /* 120 */ - {0, 12, {0, 0, 0, 0, 0, 33, 33, 17, 18, 10, 14, 4, 36, 24}}, /* 121 */ - {0, 12, {0, 0, 0, 0, 0, 63, 2, 4, 8, 8, 16, 63, 0, 0}}, /* 122 */ - {0, 12, {0, 3, 4, 4, 4, 4, 4, 8, 4, 4, 4, 4, 4, 3}}, /* 123 */ - {0, 12, {0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8}}, /* 124 */ - {0, 12, {0, 48, 8, 8, 8, 8, 8, 4, 8, 8, 8, 8, 8, 48}}, /* 125 */ - {0, 12, {0, 16, 41, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 126 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 127 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 128 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 129 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 130 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 131 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 132 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 133 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 134 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 135 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 136 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 137 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 138 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 139 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 140 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 141 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 142 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 143 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 144 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 145 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 146 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 147 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 148 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 149 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 150 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 151 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 152 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 153 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 154 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 155 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 156 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 157 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 158 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 159 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 160 */ - {0, 12, {0, 0, 8, 8, 0, 8, 8, 8, 8, 8, 8, 8, 0, 0}}, /* 161 */ - {0, 12, {0, 0, 0, 0, 8, 31, 41, 40, 40, 40, 41, 31, 8, 0}}, /* 162 */ - {0, 12, {0, 0, 0, 12, 18, 16, 16, 60, 16, 16, 60, 18, 0, 0}}, /* 163 */ - {0, 12, {0, 0, 0, 0, 33, 30, 18, 18, 30, 33, 0, 0, 0, 0}}, /* 164 */ - {0, 12, {0, 0, 33, 18, 12, 63, 4, 4, 63, 4, 4, 4, 0, 0}}, /* 165 */ - {0, 12, {0, 0, 8, 8, 8, 8, 0, 0, 8, 8, 8, 8, 0, 0}}, /* 166 */ - {0, 12, {0, 30, 33, 16, 12, 18, 33, 18, 12, 2, 33, 30, 0, 0}}, /* 167 */ - {0, 12, {0, 36, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 168 */ - {0, 12, {0, 30, 33, 45, 51, 49, 49, 49, 51, 45, 33, 30, 0, 0}}, /* 169 */ - {0, 12, {0, 14, 17, 15, 17, 19, 13, 0, 31, 0, 0, 0, 0, 0}}, /* 170 */ - {0, 12, {0, 0, 0, 0, 0, 5, 10, 20, 40, 20, 10, 5, 0, 0}}, /* 171 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 124, 4, 4, 4, 0, 0}}, /* 172 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 120, 0, 0, 0, 0, 0}}, /* 173 */ - {0, 12, {0, 30, 33, 61, 51, 51, 61, 51, 51, 51, 33, 30, 0, 0}}, /* 174 */ - {0, 12, {0, 0, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 175 */ - {0, 12, {0, 24, 36, 36, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 176 */ - {0, 12, {0, 0, 0, 0, 0, 0, 8, 8, 62, 8, 8, 62, 0, 0}}, /* 177 */ - {0, 12, {0, 24, 36, 4, 8, 16, 32, 60, 0, 0, 0, 0, 0, 0}}, /* 178 */ - {0, 12, {0, 24, 36, 4, 24, 4, 36, 24, 0, 0, 0, 0, 0, 0}}, /* 179 */ - {0, 12, {0, 4, 8, 16, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 180 */ - {0, 12, {0, 0, 0, 0, 0, 0, 34, 34, 34, 34, 54, 42, 32, 32}}, /* 181 */ - {0, 12, {0, 0, 30, 42, 42, 42, 42, 26, 10, 10, 10, 10, 10, 14}}, /* 182 */ - {0, 12, {0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0}}, /* 183 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 16}}, /* 184 */ - {0, 12, {0, 0, 16, 48, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0}}, /* 185 */ - {0, 12, {0, 0, 12, 18, 18, 12, 0, 30, 0, 0, 0, 0, 0, 0}}, /* 186 */ - {0, 12, {0, 0, 0, 0, 0, 40, 20, 10, 5, 10, 20, 40, 0, 0}}, /* 187 */ - {0, 12, {0, 0, 16, 49, 18, 18, 20, 9, 11, 21, 39, 33, 0, 0}}, /* 188 */ - {0, 12, {0, 0, 16, 49, 18, 18, 20, 10, 13, 17, 34, 39, 0, 0}}, /* 189 */ - {0, 12, {0, 0, 49, 9, 18, 12, 52, 9, 19, 21, 39, 1, 0, 0}}, /* 190 */ - {0, 12, {0, 0, 0, 4, 4, 0, 4, 4, 4, 4, 2, 33, 33, 30}}, /* 191 */ - {0, 12, {16, 12, 0, 12, 20, 18, 34, 33, 63, 33, 33, 33, 0, 0}}, /* 192 */ - {0, 12, {2, 12, 0, 12, 20, 18, 34, 33, 63, 33, 33, 33, 0, 0}}, /* 193 */ - {0, 12, {12, 18, 0, 12, 20, 18, 34, 33, 63, 33, 33, 33, 0, 0}}, /* 194 */ - {0, 12, {10, 20, 0, 12, 20, 18, 34, 33, 63, 33, 33, 33, 0, 0}}, /* 195 */ - {0, 12, {0, 18, 0, 12, 20, 18, 34, 33, 63, 33, 33, 33, 0, 0}}, /* 196 */ - {0, 12, {8, 0, 8, 12, 20, 18, 34, 33, 63, 33, 33, 33, 0, 0}}, /* 197 */ - {0, 12, {0, 0, 31, 40, 40, 40, 78, 120, 72, 72, 72, 79, 0, 0}}, /* 198 */ - {0, 12, {0, 0, 30, 33, 33, 32, 32, 32, 32, 33, 33, 30, 4, 8}}, /* 199 */ - {0, 12, {16, 12, 0, 63, 32, 32, 32, 62, 32, 32, 32, 63, 0, 0}}, /* 200 */ - {0, 12, {2, 12, 0, 63, 32, 32, 32, 62, 32, 32, 32, 63, 0, 0}}, /* 201 */ - {0, 12, {12, 18, 0, 63, 32, 32, 32, 62, 32, 32, 32, 63, 0, 0}}, /* 202 */ - {0, 12, {0, 18, 0, 63, 32, 32, 32, 62, 32, 32, 32, 63, 0, 0}}, /* 203 */ - {0, 12, {8, 6, 0, 31, 4, 4, 4, 4, 4, 4, 4, 31, 0, 0}}, /* 204 */ - {0, 12, {2, 12, 0, 31, 4, 4, 4, 4, 4, 4, 4, 31, 0, 0}}, /* 205 */ - {0, 12, {4, 10, 0, 31, 4, 4, 4, 4, 4, 4, 4, 31, 0, 0}}, /* 206 */ - {0, 12, {0, 10, 0, 31, 4, 4, 4, 4, 4, 4, 4, 31, 0, 0}}, /* 207 */ - {0, 12, {0, 0, 60, 34, 33, 33, 113, 33, 33, 33, 34, 60, 0, 0}}, /* 208 */ - {0, 12, {10, 20, 0, 49, 41, 41, 41, 37, 37, 37, 35, 35, 0, 0}}, /* 209 */ - {0, 12, {16, 12, 0, 30, 33, 33, 33, 33, 33, 33, 33, 30, 0, 0}}, /* 210 */ - {0, 12, {2, 12, 0, 30, 33, 33, 33, 33, 33, 33, 33, 30, 0, 0}}, /* 211 */ - {0, 12, {12, 18, 0, 30, 33, 33, 33, 33, 33, 33, 33, 30, 0, 0}}, /* 212 */ - {0, 12, {10, 20, 0, 30, 33, 33, 33, 33, 33, 33, 33, 30, 0, 0}}, /* 213 */ - {0, 12, {0, 18, 0, 30, 33, 33, 33, 33, 33, 33, 33, 30, 0, 0}}, /* 214 */ - {0, 12, {0, 0, 0, 0, 0, 65, 34, 20, 8, 20, 34, 65, 0, 0}}, /* 215 */ - {0, 12, {1, 1, 30, 35, 37, 37, 37, 41, 41, 41, 49, 30, 32, 32}}, /* 216 */ - {0, 12, {16, 12, 0, 33, 33, 33, 33, 33, 33, 33, 33, 30, 0, 0}}, /* 217 */ - {0, 12, {2, 12, 0, 33, 33, 33, 33, 33, 33, 33, 33, 30, 0, 0}}, /* 218 */ - {0, 12, {12, 18, 0, 33, 33, 33, 33, 33, 33, 33, 33, 30, 0, 0}}, /* 219 */ - {0, 12, {0, 18, 0, 33, 33, 33, 33, 33, 33, 33, 33, 30, 0, 0}}, /* 220 */ - {0, 12, {2, 12, 33, 33, 34, 18, 20, 12, 8, 8, 8, 8, 0, 0}}, /* 221 */ - {0, 12, {0, 0, 32, 32, 62, 33, 33, 33, 33, 62, 32, 32, 0, 0}}, /* 222 */ - {0, 12, {0, 0, 12, 18, 18, 18, 28, 18, 17, 17, 17, 62, 0, 0}}, /* 223 */ - {0, 12, {0, 16, 8, 4, 0, 30, 33, 7, 25, 33, 35, 29, 0, 0}}, /* 224 */ - {0, 12, {0, 2, 4, 8, 0, 30, 33, 7, 25, 33, 35, 29, 0, 0}}, /* 225 */ - {0, 12, {0, 0, 12, 18, 0, 30, 33, 7, 25, 33, 35, 29, 0, 0}}, /* 226 */ - {0, 12, {0, 0, 10, 20, 0, 30, 33, 7, 25, 33, 35, 29, 0, 0}}, /* 227 */ - {0, 12, {0, 0, 0, 18, 0, 30, 33, 7, 25, 33, 35, 29, 0, 0}}, /* 228 */ - {0, 12, {0, 8, 20, 8, 0, 30, 33, 7, 25, 33, 35, 29, 0, 0}}, /* 229 */ - {0, 12, {0, 0, 0, 0, 0, 62, 73, 25, 47, 72, 73, 62, 0, 0}}, /* 230 */ - {0, 12, {0, 0, 0, 0, 0, 30, 33, 32, 32, 32, 33, 30, 4, 8}}, /* 231 */ - {0, 12, {0, 16, 8, 4, 0, 30, 33, 33, 63, 32, 33, 30, 0, 0}}, /* 232 */ - {0, 12, {0, 2, 4, 8, 0, 30, 33, 33, 63, 32, 33, 30, 0, 0}}, /* 233 */ - {0, 12, {0, 0, 12, 18, 0, 30, 33, 33, 63, 32, 33, 30, 0, 0}}, /* 234 */ - {0, 12, {0, 0, 0, 18, 0, 30, 33, 33, 63, 32, 33, 30, 0, 0}}, /* 235 */ - {0, 12, {0, 16, 8, 4, 0, 8, 8, 8, 8, 8, 8, 8, 0, 0}}, /* 236 */ - {0, 12, {0, 4, 8, 16, 0, 8, 8, 8, 8, 8, 8, 8, 0, 0}}, /* 237 */ - {0, 12, {0, 0, 8, 20, 0, 8, 8, 8, 8, 8, 8, 8, 0, 0}}, /* 238 */ - {0, 12, {0, 0, 0, 20, 0, 8, 8, 8, 8, 8, 8, 8, 0, 0}}, /* 239 */ - {0, 12, {0, 20, 8, 20, 2, 30, 34, 34, 34, 34, 34, 28, 0, 0}}, /* 240 */ - {0, 12, {0, 0, 10, 20, 0, 46, 49, 33, 33, 33, 33, 33, 0, 0}}, /* 241 */ - {0, 12, {0, 16, 8, 4, 0, 30, 33, 33, 33, 33, 33, 30, 0, 0}}, /* 242 */ - {0, 12, {0, 2, 4, 8, 0, 30, 33, 33, 33, 33, 33, 30, 0, 0}}, /* 243 */ - {0, 12, {0, 0, 12, 18, 0, 30, 33, 33, 33, 33, 33, 30, 0, 0}}, /* 244 */ - {0, 12, {0, 0, 10, 20, 0, 30, 33, 33, 33, 33, 33, 30, 0, 0}}, /* 245 */ - {0, 12, {0, 0, 0, 18, 0, 30, 33, 33, 33, 33, 33, 30, 0, 0}}, /* 246 */ - {0, 12, {0, 0, 0, 0, 0, 0, 0, 24, 0, 126, 0, 24, 0, 0}}, /* 247 */ - {0, 12, {0, 0, 0, 1, 2, 30, 37, 37, 41, 41, 49, 30, 32, 32}}, /* 248 */ - {0, 12, {0, 0, 16, 8, 4, 33, 33, 33, 33, 33, 35, 29, 0, 0}}, /* 249 */ - {0, 12, {0, 0, 2, 4, 8, 33, 33, 33, 33, 33, 35, 29, 0, 0}}, /* 250 */ - {0, 12, {0, 0, 12, 18, 0, 33, 33, 33, 33, 33, 35, 29, 0, 0}}, /* 251 */ - {0, 12, {0, 0, 0, 18, 0, 33, 33, 33, 33, 33, 35, 29, 0, 0}}, /* 252 */ - {0, 12, {0, 0, 2, 4, 8, 33, 33, 17, 18, 10, 14, 4, 36, 24}}, /* 253 */ - {0, 12, {0, 0, 32, 32, 32, 46, 49, 33, 33, 33, 49, 46, 32, 32}}, /* 254 */ - {0, 12, {0, 0, 0, 18, 0, 33, 33, 17, 18, 10, 14, 4, 36, 24}} /* 255 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 0 */ + {0, 11, {0, 0, 0, 0, 0, 16, 56, 124, 56, 16, 0, 0, 0}}, /* 1 */ + {0, 11, {0, 84, 42, 84, 42, 84, 42, 84, 42, 84, 42, 84, 42}}, /* 2 */ + {0, 11, {0, 0, 72, 72, 120, 72, 72, 14, 4, 4, 4, 4, 0}}, /* 3 */ + {0, 11, {0, 0, 120, 64, 112, 64, 64, 30, 16, 28, 16, 16, 0}}, /* 4 */ + {0, 11, {0, 0, 56, 64, 64, 64, 56, 28, 18, 28, 20, 18, 0}}, /* 5 */ + {0, 11, {0, 0, 64, 64, 64, 64, 120, 30, 16, 28, 16, 16, 0}}, /* 6 */ + {0, 11, {0, 0, 56, 68, 68, 56, 0, 0, 0, 0, 0, 0, 0}}, /* 7 */ + {0, 11, {0, 0, 0, 16, 16, 124, 16, 16, 0, 124, 0, 0, 0}}, /* 8 */ + {0, 11, {0, 0, 72, 104, 88, 72, 72, 16, 16, 16, 16, 30, 0}}, /* 9 */ + {0, 11, {0, 0, 68, 68, 40, 40, 16, 62, 8, 8, 8, 8, 0}}, /* 10 */ + {0, 11, {8, 8, 8, 8, 8, 8, 120, 0, 0, 0, 0, 0, 0}}, /* 11 */ + {0, 11, {0, 0, 0, 0, 0, 0, 120, 8, 8, 8, 8, 8, 8}}, /* 12 */ + {0, 11, {0, 0, 0, 0, 0, 0, 15, 8, 8, 8, 8, 8, 8}}, /* 13 */ + {0, 11, {8, 8, 8, 8, 8, 8, 15, 0, 0, 0, 0, 0, 0}}, /* 14 */ + {0, 11, {8, 8, 8, 8, 8, 8, 127, 8, 8, 8, 8, 8, 8}}, /* 15 */ + {0, 11, {0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 16 */ + {0, 11, {0, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 17 */ + {0, 11, {0, 0, 0, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0}}, /* 18 */ + {0, 11, {0, 0, 0, 0, 0, 0, 0, 0, 127, 0, 0, 0, 0}}, /* 19 */ + {0, 11, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 0, 0}}, /* 20 */ + {0, 11, {8, 8, 8, 8, 8, 8, 15, 8, 8, 8, 8, 8, 8}}, /* 21 */ + {0, 11, {8, 8, 8, 8, 8, 8, 120, 8, 8, 8, 8, 8, 8}}, /* 22 */ + {0, 11, {8, 8, 8, 8, 8, 8, 127, 0, 0, 0, 0, 0, 0}}, /* 23 */ + {0, 11, {0, 0, 0, 0, 0, 0, 127, 8, 8, 8, 8, 8, 8}}, /* 24 */ + {0, 11, {8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8}}, /* 25 */ + {0, 11, {0, 0, 0, 2, 12, 48, 64, 48, 12, 2, 126, 0, 0}}, /* 26 */ + {0, 11, {0, 0, 0, 64, 48, 12, 2, 12, 48, 64, 126, 0, 0}}, /* 27 */ + {0, 11, {0, 0, 0, 0, 0, 126, 36, 36, 36, 36, 68, 0, 0}}, /* 28 */ + {0, 11, {0, 0, 0, 2, 4, 126, 8, 16, 126, 32, 64, 0, 0}}, /* 29 */ + {0, 11, {0, 0, 28, 34, 32, 32, 112, 32, 32, 34, 92, 0, 0}}, /* 30 */ + {0, 11, {0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0}}, /* 31 */ + {0, 11, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 32 */ + {0, 11, {0, 0, 8, 8, 8, 8, 8, 8, 8, 0, 8, 0, 0}}, /* 33 */ + {0, 11, {0, 0, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 34 */ + {0, 11, {0, 0, 0, 20, 20, 62, 20, 62, 20, 20, 0, 0, 0}}, /* 35 */ + {0, 11, {0, 0, 0, 8, 30, 40, 28, 10, 60, 8, 0, 0, 0}}, /* 36 */ + {0, 11, {0, 0, 34, 82, 36, 8, 8, 16, 36, 74, 68, 0, 0}}, /* 37 */ + {0, 11, {0, 0, 0, 0, 48, 72, 72, 48, 74, 68, 58, 0, 0}}, /* 38 */ + {0, 11, {0, 0, 28, 24, 32, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 39 */ + {0, 11, {0, 0, 4, 8, 8, 16, 16, 16, 8, 8, 4, 0, 0}}, /* 40 */ + {0, 11, {0, 0, 16, 8, 8, 4, 4, 4, 8, 8, 16, 0, 0}}, /* 41 */ + {0, 11, {0, 0, 0, 0, 36, 24, 126, 24, 36, 0, 0, 0, 0}}, /* 42 */ + {0, 11, {0, 0, 0, 0, 8, 8, 62, 8, 8, 0, 0, 0, 0}}, /* 43 */ + {0, 11, {0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 24, 32, 0}}, /* 44 */ + {0, 11, {0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0}}, /* 45 */ + {0, 11, {0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 28, 8, 0}}, /* 46 */ + {0, 11, {0, 0, 2, 2, 4, 4, 8, 16, 16, 32, 32, 0, 0}}, /* 47 */ + {0, 11, {0, 0, 24, 36, 66, 66, 66, 66, 66, 36, 24, 0, 0}}, /* 48 */ + {0, 11, {0, 0, 8, 24, 40, 8, 8, 8, 8, 8, 62, 0, 0}}, /* 49 */ + {0, 11, {0, 0, 60, 66, 66, 2, 4, 24, 32, 64, 126, 0, 0}}, /* 50 */ + {0, 11, {0, 0, 126, 2, 4, 8, 28, 2, 2, 66, 60, 0, 0}}, /* 51 */ + {0, 11, {0, 0, 4, 12, 20, 36, 68, 68, 126, 4, 4, 0, 0}}, /* 52 */ + {0, 11, {0, 0, 126, 64, 64, 92, 98, 2, 2, 66, 60, 0, 0}}, /* 53 */ + {0, 11, {0, 0, 28, 32, 64, 64, 92, 98, 66, 66, 60, 0, 0}}, /* 54 */ + {0, 11, {0, 0, 126, 2, 4, 8, 8, 16, 16, 32, 32, 0, 0}}, /* 55 */ + {0, 11, {0, 0, 60, 66, 66, 66, 60, 66, 66, 66, 60, 0, 0}}, /* 56 */ + {0, 11, {0, 0, 60, 66, 66, 70, 58, 2, 2, 4, 56, 0, 0}}, /* 57 */ + {0, 11, {0, 0, 0, 0, 8, 28, 8, 0, 0, 8, 28, 8, 0}}, /* 58 */ + {0, 11, {0, 0, 0, 0, 8, 28, 8, 0, 0, 28, 24, 32, 0}}, /* 59 */ + {0, 11, {0, 0, 2, 4, 8, 16, 32, 16, 8, 4, 2, 0, 0}}, /* 60 */ + {0, 11, {0, 0, 0, 0, 0, 126, 0, 0, 126, 0, 0, 0, 0}}, /* 61 */ + {0, 11, {0, 0, 32, 16, 8, 4, 2, 4, 8, 16, 32, 0, 0}}, /* 62 */ + {0, 11, {0, 0, 60, 66, 66, 2, 4, 8, 8, 0, 8, 0, 0}}, /* 63 */ + {0, 11, {0, 0, 60, 66, 66, 78, 82, 86, 74, 64, 60, 0, 0}}, /* 64 */ + {0, 11, {0, 0, 24, 36, 66, 66, 66, 126, 66, 66, 66, 0, 0}}, /* 65 */ + {0, 11, {0, 0, 124, 34, 34, 34, 60, 34, 34, 34, 124, 0, 0}}, /* 66 */ + {0, 11, {0, 0, 60, 66, 64, 64, 64, 64, 64, 66, 60, 0, 0}}, /* 67 */ + {0, 11, {0, 0, 124, 34, 34, 34, 34, 34, 34, 34, 124, 0, 0}}, /* 68 */ + {0, 11, {0, 0, 126, 64, 64, 64, 120, 64, 64, 64, 126, 0, 0}}, /* 69 */ + {0, 11, {0, 0, 126, 64, 64, 64, 120, 64, 64, 64, 64, 0, 0}}, /* 70 */ + {0, 11, {0, 0, 60, 66, 64, 64, 64, 78, 66, 70, 58, 0, 0}}, /* 71 */ + {0, 11, {0, 0, 66, 66, 66, 66, 126, 66, 66, 66, 66, 0, 0}}, /* 72 */ + {0, 11, {0, 0, 124, 16, 16, 16, 16, 16, 16, 16, 124, 0, 0}}, /* 73 */ + {0, 11, {0, 0, 14, 4, 4, 4, 4, 4, 4, 68, 56, 0, 0}}, /* 74 */ + {0, 11, {0, 0, 66, 68, 72, 80, 96, 80, 72, 68, 66, 0, 0}}, /* 75 */ + {0, 11, {0, 0, 64, 64, 64, 64, 64, 64, 64, 64, 126, 0, 0}}, /* 76 */ + {0, 11, {0, 0, 66, 102, 102, 90, 90, 66, 66, 66, 66, 0, 0}}, /* 77 */ + {0, 11, {0, 0, 66, 66, 98, 82, 74, 70, 66, 66, 66, 0, 0}}, /* 78 */ + {0, 11, {0, 0, 60, 66, 66, 66, 66, 66, 66, 66, 60, 0, 0}}, /* 79 */ + {0, 11, {0, 0, 124, 66, 66, 66, 124, 64, 64, 64, 64, 0, 0}}, /* 80 */ + {0, 11, {0, 0, 60, 66, 66, 66, 66, 66, 82, 74, 60, 2, 0}}, /* 81 */ + {0, 11, {0, 0, 124, 66, 66, 66, 124, 80, 72, 68, 66, 0, 0}}, /* 82 */ + {0, 11, {0, 0, 60, 66, 64, 64, 60, 2, 2, 66, 60, 0, 0}}, /* 83 */ + {0, 11, {0, 0, 124, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0}}, /* 84 */ + {0, 11, {0, 0, 66, 66, 66, 66, 66, 66, 66, 66, 60, 0, 0}}, /* 85 */ + {0, 11, {0, 0, 66, 66, 66, 36, 36, 36, 24, 24, 24, 0, 0}}, /* 86 */ + {0, 11, {0, 0, 66, 66, 66, 66, 90, 90, 102, 102, 66, 0, 0}}, /* 87 */ + {0, 11, {0, 0, 66, 66, 36, 36, 24, 36, 36, 66, 66, 0, 0}}, /* 88 */ + {0, 11, {0, 0, 68, 68, 40, 40, 16, 16, 16, 16, 16, 0, 0}}, /* 89 */ + {0, 11, {0, 0, 126, 2, 4, 8, 24, 16, 32, 64, 126, 0, 0}}, /* 90 */ + {0, 11, {0, 0, 60, 32, 32, 32, 32, 32, 32, 32, 60, 0, 0}}, /* 91 */ + {0, 11, {0, 0, 32, 32, 16, 16, 8, 4, 4, 2, 2, 0, 0}}, /* 92 */ + {0, 11, {0, 0, 60, 4, 4, 4, 4, 4, 4, 4, 60, 0, 0}}, /* 93 */ + {0, 11, {0, 0, 8, 20, 34, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 94 */ + {0, 11, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0}}, /* 95 */ + {0, 11, {0, 0, 56, 24, 4, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 96 */ + {0, 11, {0, 0, 0, 0, 0, 60, 2, 62, 66, 70, 58, 0, 0}}, /* 97 */ + {0, 11, {0, 0, 64, 64, 64, 92, 98, 66, 66, 98, 92, 0, 0}}, /* 98 */ + {0, 11, {0, 0, 0, 0, 0, 60, 66, 64, 64, 66, 60, 0, 0}}, /* 99 */ + {0, 11, {0, 0, 2, 2, 2, 58, 70, 66, 66, 70, 58, 0, 0}}, /* 100 */ + {0, 11, {0, 0, 0, 0, 0, 60, 66, 126, 64, 66, 60, 0, 0}}, /* 101 */ + {0, 11, {0, 0, 28, 34, 32, 32, 120, 32, 32, 32, 32, 0, 0}}, /* 102 */ + {0, 11, {0, 0, 0, 0, 0, 58, 68, 68, 56, 64, 60, 66, 60}}, /* 103 */ + {0, 11, {0, 0, 64, 64, 64, 92, 98, 66, 66, 66, 66, 0, 0}}, /* 104 */ + {0, 11, {0, 0, 0, 16, 0, 48, 16, 16, 16, 16, 124, 0, 0}}, /* 105 */ + {0, 11, {0, 0, 0, 4, 0, 12, 4, 4, 4, 4, 68, 68, 56}}, /* 106 */ + {0, 11, {0, 0, 64, 64, 64, 68, 72, 112, 72, 68, 66, 0, 0}}, /* 107 */ + {0, 11, {0, 0, 48, 16, 16, 16, 16, 16, 16, 16, 124, 0, 0}}, /* 108 */ + {0, 11, {0, 0, 0, 0, 0, 104, 84, 84, 84, 84, 68, 0, 0}}, /* 109 */ + {0, 11, {0, 0, 0, 0, 0, 92, 98, 66, 66, 66, 66, 0, 0}}, /* 110 */ + {0, 11, {0, 0, 0, 0, 0, 60, 66, 66, 66, 66, 60, 0, 0}}, /* 111 */ + {0, 11, {0, 0, 0, 0, 0, 92, 98, 66, 98, 92, 64, 64, 64}}, /* 112 */ + {0, 11, {0, 0, 0, 0, 0, 58, 70, 66, 70, 58, 2, 2, 2}}, /* 113 */ + {0, 11, {0, 0, 0, 0, 0, 92, 34, 32, 32, 32, 32, 0, 0}}, /* 114 */ + {0, 11, {0, 0, 0, 0, 0, 60, 66, 48, 12, 66, 60, 0, 0}}, /* 115 */ + {0, 11, {0, 0, 0, 32, 32, 120, 32, 32, 32, 34, 28, 0, 0}}, /* 116 */ + {0, 11, {0, 0, 0, 0, 0, 66, 66, 66, 66, 70, 58, 0, 0}}, /* 117 */ + {0, 11, {0, 0, 0, 0, 0, 68, 68, 68, 40, 40, 16, 0, 0}}, /* 118 */ + {0, 11, {0, 0, 0, 0, 0, 68, 68, 84, 84, 84, 40, 0, 0}}, /* 119 */ + {0, 11, {0, 0, 0, 0, 0, 66, 36, 24, 24, 36, 66, 0, 0}}, /* 120 */ + {0, 11, {0, 0, 0, 0, 0, 66, 66, 66, 70, 58, 2, 66, 60}}, /* 121 */ + {0, 11, {0, 0, 0, 0, 0, 126, 4, 8, 16, 32, 126, 0, 0}}, /* 122 */ + {0, 11, {0, 0, 14, 16, 16, 8, 48, 8, 16, 16, 14, 0, 0}}, /* 123 */ + {0, 11, {0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0}}, /* 124 */ + {0, 11, {0, 0, 56, 4, 4, 8, 6, 8, 4, 4, 56, 0, 0}}, /* 125 */ + {0, 11, {0, 0, 18, 42, 36, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 126 */ + {0, 11, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 127 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 128 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 129 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 130 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 131 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 132 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 133 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 134 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 135 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 136 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 137 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 138 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 139 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 140 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 141 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 142 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 143 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 144 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 145 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 146 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 147 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 148 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 149 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 150 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 151 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 152 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 153 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 154 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 155 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 156 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 157 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 158 */ + {0, 11, {0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0}}, /* 159 */ + {0, 11, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 160 */ + {0, 11, {0, 0, 8, 0, 8, 8, 8, 8, 8, 8, 8, 0, 0}}, /* 161 */ + {0, 11, {0, 0, 8, 28, 42, 40, 40, 42, 28, 8, 0, 0, 0}}, /* 162 */ + {0, 11, {0, 0, 28, 34, 32, 32, 112, 32, 32, 34, 92, 0, 0}}, /* 163 */ + {0, 11, {0, 0, 0, 0, 66, 60, 36, 36, 60, 66, 0, 0, 0}}, /* 164 */ + {0, 11, {0, 0, 68, 68, 40, 40, 124, 16, 124, 16, 16, 0, 0}}, /* 165 */ + {0, 11, {0, 0, 8, 8, 8, 8, 0, 8, 8, 8, 8, 0, 0}}, /* 166 */ + {0, 11, {0, 24, 36, 32, 24, 36, 36, 24, 4, 36, 24, 0, 0}}, /* 167 */ + {0, 11, {0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 168 */ + {0, 11, {0, 60, 66, 90, 82, 82, 82, 90, 66, 60, 0, 0, 0}}, /* 169 */ + {0, 11, {0, 0, 28, 2, 30, 34, 30, 0, 62, 0, 0, 0, 0}}, /* 170 */ + {0, 11, {0, 0, 0, 10, 20, 40, 80, 40, 20, 10, 0, 0, 0}}, /* 171 */ + {0, 11, {0, 0, 0, 0, 0, 0, 62, 2, 2, 0, 0, 0, 0}}, /* 172 */ + {0, 11, {0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0}}, /* 173 */ + {0, 11, {0, 60, 66, 90, 86, 86, 90, 86, 66, 60, 0, 0, 0}}, /* 174 */ + {0, 11, {0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 175 */ + {0, 11, {0, 0, 24, 36, 36, 24, 0, 0, 0, 0, 0, 0, 0}}, /* 176 */ + {0, 11, {0, 0, 0, 8, 8, 62, 8, 8, 0, 62, 0, 0, 0}}, /* 177 */ + {0, 11, {0, 32, 80, 16, 32, 64, 112, 0, 0, 0, 0, 0, 0}}, /* 178 */ + {0, 11, {0, 112, 16, 32, 16, 80, 32, 0, 0, 0, 0, 0, 0}}, /* 179 */ + {0, 11, {0, 8, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 180 */ + {0, 11, {0, 0, 0, 0, 0, 66, 66, 66, 66, 102, 90, 64, 0}}, /* 181 */ + {0, 11, {0, 0, 62, 116, 116, 116, 52, 20, 20, 20, 20, 0, 0}}, /* 182 */ + {0, 11, {0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0}}, /* 183 */ + {0, 11, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 16}}, /* 184 */ + {0, 11, {0, 32, 96, 32, 32, 32, 112, 0, 0, 0, 0, 0, 0}}, /* 185 */ + {0, 11, {0, 0, 24, 36, 36, 24, 0, 60, 0, 0, 0, 0, 0}}, /* 186 */ + {0, 11, {0, 0, 0, 80, 40, 20, 10, 20, 40, 80, 0, 0, 0}}, /* 187 */ + {0, 11, {0, 32, 96, 32, 32, 34, 118, 10, 10, 14, 2, 0, 0}}, /* 188 */ + {0, 11, {0, 32, 96, 32, 32, 36, 122, 2, 4, 8, 14, 0, 0}}, /* 189 */ + {0, 11, {0, 112, 16, 32, 16, 82, 38, 10, 10, 14, 2, 0, 0}}, /* 190 */ + {0, 11, {0, 0, 16, 0, 16, 16, 32, 64, 66, 66, 60, 0, 0}}, /* 191 */ + {0, 11, {0, 16, 8, 0, 24, 36, 66, 66, 126, 66, 66, 0, 0}}, /* 192 */ + {0, 11, {0, 8, 16, 0, 24, 36, 66, 66, 126, 66, 66, 0, 0}}, /* 193 */ + {0, 11, {0, 24, 36, 0, 24, 36, 66, 66, 126, 66, 66, 0, 0}}, /* 194 */ + {0, 11, {0, 20, 40, 0, 24, 36, 66, 66, 126, 66, 66, 0, 0}}, /* 195 */ + {0, 11, {0, 36, 36, 0, 24, 36, 66, 66, 126, 66, 66, 0, 0}}, /* 196 */ + {0, 11, {0, 24, 36, 24, 24, 36, 66, 66, 126, 66, 66, 0, 0}}, /* 197 */ + {0, 11, {0, 0, 46, 80, 80, 80, 92, 112, 80, 80, 94, 0, 0}}, /* 198 */ + {0, 11, {0, 0, 60, 66, 64, 64, 64, 64, 64, 66, 60, 8, 16}}, /* 199 */ + {0, 11, {0, 16, 8, 0, 126, 64, 64, 120, 64, 64, 126, 0, 0}}, /* 200 */ + {0, 11, {0, 8, 16, 0, 126, 64, 64, 120, 64, 64, 126, 0, 0}}, /* 201 */ + {0, 11, {0, 24, 36, 0, 126, 64, 64, 120, 64, 64, 126, 0, 0}}, /* 202 */ + {0, 11, {0, 36, 36, 0, 126, 64, 64, 120, 64, 64, 126, 0, 0}}, /* 203 */ + {0, 11, {0, 16, 8, 0, 62, 8, 8, 8, 8, 8, 62, 0, 0}}, /* 204 */ + {0, 11, {0, 8, 16, 0, 62, 8, 8, 8, 8, 8, 62, 0, 0}}, /* 205 */ + {0, 11, {0, 24, 36, 0, 62, 8, 8, 8, 8, 8, 62, 0, 0}}, /* 206 */ + {0, 11, {0, 20, 20, 0, 62, 8, 8, 8, 8, 8, 62, 0, 0}}, /* 207 */ + {0, 11, {0, 0, 124, 34, 34, 34, 114, 34, 34, 34, 124, 0, 0}}, /* 208 */ + {0, 11, {0, 20, 40, 0, 66, 98, 82, 82, 74, 70, 66, 0, 0}}, /* 209 */ + {0, 11, {0, 16, 8, 0, 60, 66, 66, 66, 66, 66, 60, 0, 0}}, /* 210 */ + {0, 11, {0, 8, 16, 0, 60, 66, 66, 66, 66, 66, 60, 0, 0}}, /* 211 */ + {0, 11, {0, 24, 36, 0, 60, 66, 66, 66, 66, 66, 60, 0, 0}}, /* 212 */ + {0, 11, {0, 20, 40, 0, 60, 66, 66, 66, 66, 66, 60, 0, 0}}, /* 213 */ + {0, 11, {0, 36, 36, 0, 60, 66, 66, 66, 66, 66, 60, 0, 0}}, /* 214 */ + {0, 11, {0, 0, 0, 0, 66, 36, 24, 24, 36, 66, 0, 0, 0}}, /* 215 */ + {0, 11, {0, 2, 60, 70, 74, 74, 82, 82, 82, 98, 60, 64, 0}}, /* 216 */ + {0, 11, {0, 16, 8, 0, 66, 66, 66, 66, 66, 66, 60, 0, 0}}, /* 217 */ + {0, 11, {0, 8, 16, 0, 66, 66, 66, 66, 66, 66, 60, 0, 0}}, /* 218 */ + {0, 11, {0, 24, 36, 0, 66, 66, 66, 66, 66, 66, 60, 0, 0}}, /* 219 */ + {0, 11, {0, 36, 36, 0, 66, 66, 66, 66, 66, 66, 60, 0, 0}}, /* 220 */ + {0, 11, {0, 8, 16, 0, 34, 34, 20, 8, 8, 8, 8, 0, 0}}, /* 221 */ + {0, 11, {0, 0, 64, 124, 66, 66, 66, 124, 64, 64, 64, 0, 0}}, /* 222 */ + {0, 11, {0, 0, 0, 60, 66, 66, 124, 66, 66, 98, 92, 64, 0}}, /* 223 */ + {0, 11, {0, 16, 8, 0, 0, 60, 2, 62, 66, 70, 58, 0, 0}}, /* 224 */ + {0, 11, {0, 8, 16, 0, 0, 60, 2, 62, 66, 70, 58, 0, 0}}, /* 225 */ + {0, 11, {0, 24, 36, 0, 0, 60, 2, 62, 66, 70, 58, 0, 0}}, /* 226 */ + {0, 11, {0, 20, 40, 0, 0, 60, 2, 62, 66, 70, 58, 0, 0}}, /* 227 */ + {0, 11, {0, 36, 36, 0, 0, 60, 2, 62, 66, 70, 58, 0, 0}}, /* 228 */ + {0, 11, {0, 24, 36, 24, 0, 60, 2, 62, 66, 70, 58, 0, 0}}, /* 229 */ + {0, 11, {0, 0, 0, 0, 0, 52, 10, 62, 72, 74, 52, 0, 0}}, /* 230 */ + {0, 11, {0, 0, 0, 0, 0, 60, 66, 64, 64, 66, 60, 8, 16}}, /* 231 */ + {0, 11, {0, 16, 8, 0, 0, 60, 66, 126, 64, 66, 60, 0, 0}}, /* 232 */ + {0, 11, {0, 8, 16, 0, 0, 60, 66, 126, 64, 66, 60, 0, 0}}, /* 233 */ + {0, 11, {0, 24, 36, 0, 0, 60, 66, 126, 64, 66, 60, 0, 0}}, /* 234 */ + {0, 11, {0, 36, 36, 0, 0, 60, 66, 126, 64, 66, 60, 0, 0}}, /* 235 */ + {0, 11, {0, 16, 8, 0, 0, 24, 8, 8, 8, 8, 62, 0, 0}}, /* 236 */ + {0, 11, {0, 8, 16, 0, 0, 24, 8, 8, 8, 8, 62, 0, 0}}, /* 237 */ + {0, 11, {0, 24, 36, 0, 0, 24, 8, 8, 8, 8, 62, 0, 0}}, /* 238 */ + {0, 11, {0, 36, 36, 0, 0, 24, 8, 8, 8, 8, 62, 0, 0}}, /* 239 */ + {0, 11, {0, 36, 24, 40, 4, 60, 66, 66, 66, 66, 60, 0, 0}}, /* 240 */ + {0, 11, {0, 20, 40, 0, 0, 92, 98, 66, 66, 66, 66, 0, 0}}, /* 241 */ + {0, 11, {0, 16, 8, 0, 0, 60, 66, 66, 66, 66, 60, 0, 0}}, /* 242 */ + {0, 11, {0, 8, 16, 0, 0, 60, 66, 66, 66, 66, 60, 0, 0}}, /* 243 */ + {0, 11, {0, 24, 36, 0, 0, 60, 66, 66, 66, 66, 60, 0, 0}}, /* 244 */ + {0, 11, {0, 20, 40, 0, 0, 60, 66, 66, 66, 66, 60, 0, 0}}, /* 245 */ + {0, 11, {0, 36, 36, 0, 0, 60, 66, 66, 66, 66, 60, 0, 0}}, /* 246 */ + {0, 11, {0, 0, 0, 8, 8, 0, 62, 0, 8, 8, 0, 0, 0}}, /* 247 */ + {0, 11, {0, 0, 0, 0, 2, 60, 70, 74, 82, 98, 60, 64, 0}}, /* 248 */ + {0, 11, {0, 16, 8, 0, 0, 66, 66, 66, 66, 70, 58, 0, 0}}, /* 249 */ + {0, 11, {0, 8, 16, 0, 0, 66, 66, 66, 66, 70, 58, 0, 0}}, /* 250 */ + {0, 11, {0, 24, 36, 0, 0, 66, 66, 66, 66, 70, 58, 0, 0}}, /* 251 */ + {0, 11, {0, 36, 36, 0, 0, 66, 66, 66, 66, 70, 58, 0, 0}}, /* 252 */ + {0, 11, {0, 8, 16, 0, 0, 66, 66, 66, 70, 58, 2, 66, 60}}, /* 253 */ + {0, 11, {0, 0, 0, 64, 64, 92, 98, 66, 66, 98, 92, 64, 64}}, /* 254 */ + {0, 11, {0, 36, 36, 0, 0, 66, 66, 66, 70, 58, 2, 66, 60}} /* 255 */ }; diff --git a/src/text/text.c b/src/text/text.c index 2bb89b6..45e5886 100644 --- a/src/text/text.c +++ b/src/text/text.c @@ -12,7 +12,7 @@ void (*MwFLFontFree)(void* handle) = NULL; #endif #define FontWidth 7 -#define FontHeight 14 +#define FontHeight 13 static void bitmap_MwDrawText(MwWidget handle, MwPoint* point, const char* text, int bold, MwLLColor color); @@ -240,7 +240,7 @@ int MwTextHeight(MwWidget handle, MwFLFont ttf, const char* text) { void* MwFontLoad(unsigned char* data, unsigned int size) { if(MwFLFontLoad) - return MwFLFontLoad(data, size, 14); + return MwFLFontLoad(data, size, 13); return NULL; } diff --git a/src/widget/chart.c b/src/widget/chart.c new file mode 100644 index 0000000..4079e8b --- /dev/null +++ b/src/widget/chart.c @@ -0,0 +1,387 @@ +#include + +#include "../../external/stb_ds.h" + +static const char* palette0[] = { + "#800", + "#080", + "#880", + "#008", + "#808", + "#088", + "#888", + NULL}; + +#define NUMFMT "%.2f" +#define PIE_DIV 4 + +static int wcreate(MwWidget handle) { + MwChart c = malloc(sizeof(*c)); + memset(c, 0, sizeof(*c)); + + handle->internal = c; + + MwSetDefault(handle); + + MwSetInteger(handle, MwNtype, MwCHART_BAR); + + return 0; +} + +static void destroy(MwWidget handle) { + MwChartReset(handle); + free(handle->internal); +} + +static void draw_line(MwWidget handle, const char* text, double x, double y, double width, double height, MwLLColor color) { + MwPoint p[2]; + int type = MwGetInteger(handle, MwNtype); + + p[0].x = x; + p[0].y = y; + + p[1].x = x + width; + p[1].y = p[0].y; + MwDrawText(handle, NULL, p, text, MwALIGNMENT_END, color); + + if(type == MwCHART_3D_BAR) { + MwPoint p2[2]; + + p2[0] = p[0]; + p2[1] = p[0]; + + p2[1].x += height; + p2[1].y -= height; + + MwLLLine(handle->lowlevel, &p2[0], color); + + p[0].x += height; + p[0].y -= height; + p[1].y -= height; + } + MwLLLine(handle->lowlevel, &p[0], color); +} + +static void draw(MwWidget handle) { + MwLLColor base = MwParseColor(handle, MwGetText(handle, MwNbackground)); + MwLLColor border = MwParseColor(handle, MwGetText(handle, MwNforeground)); + MwRect r; + MwChart c = handle->internal; + int i; + const char** colors = palette0; + int n; + int gap; + int width; + MwRect node; + double vmin = 0xffffffff; + double vmax = -0xffffffff; + int space = MwTextHeight(handle, NULL, "M"); + MwPoint p[2]; + int type = MwGetInteger(handle, MwNtype); + + for(n = 0; colors[n] != NULL; n++); + + for(i = 0; i < arrlen(c->entries); i++) { + if(vmin > c->entries[i].value) vmin = c->entries[i].value; + if(vmax < c->entries[i].value) vmax = c->entries[i].value; + } + + if(MwGetInteger(handle, MwNminValue) != MwDEFAULT) vmin = MwGetInteger(handle, MwNminValue); + if(MwGetInteger(handle, MwNmaxValue) != MwDEFAULT) vmax = MwGetInteger(handle, MwNmaxValue); + + r.x = 0; + r.y = 0; + r.width = MwGetInteger(handle, MwNwidth); + r.height = MwGetInteger(handle, MwNheight); + MwDrawRect(handle, &r, base); + + if(type == MwCHART_BAR || type == MwCHART_3D_BAR) { + double s = 1.5; + double ovmin = vmin; + double ovmax = vmax; + double twidth; + char buf[128]; + + node.x = 0; + + for(i = 0; i < arrlen(c->entries); i++) { + int w; + + sprintf(buf, NUMFMT, c->entries[i].value); + + w = MwTextWidth(handle, NULL, buf); + + if(node.x < w) node.x = w; + } + + node.y = 0; + + width = (r.width - node.x) * s / (arrlen(c->entries) * (1 + s) + 1); + gap = width / s; + + twidth = (width + gap) * arrlen(c->entries) + gap; + + if(vmin > 0) { + vmin = 0; + } else if(vmin < 0) { + vmin -= (double)width / r.height * (vmax - vmin); + } + + if(vmax < 0) { + vmax = 0; + } else if(vmax > 0) { + vmax += (double)width / r.height * (vmax - vmin); + } + + sprintf(buf, NUMFMT, ovmax); + draw_line(handle, buf, node.x, (r.height - space) - (ovmax - vmin) / (vmax - vmin) * (r.height - space), twidth, width / 2, border); + + draw_line(handle, "0", node.x, (r.height - space) - (0 - vmin) / (vmax - vmin) * (r.height - space), twidth, width / 2, border); + + sprintf(buf, NUMFMT, ovmin); + draw_line(handle, buf, node.x, (r.height - space) - (ovmin - vmin) / (vmax - vmin) * (r.height - space), twidth, width / 2, border); + + p[0].x = node.x; + p[0].y = 0; + + p[1].x = node.x; + p[1].y = r.height - space; + MwLLLine(handle->lowlevel, &p[0], border); + + p[0].x = node.x; + p[0].y = r.height - space; + + p[1].x = node.x + twidth; + p[1].y = p[0].y; + MwLLLine(handle->lowlevel, &p[0], border); + + node.width = width; + for(i = 0; i < arrlen(c->entries); i++) { + int ColorDiff = MwGetColorDifference(handle); + MwLLColor color = MwParseColor(handle, c->entries[i].color == NULL ? colors[i % n] : c->entries[i].color); + MwLLColor colorl = MwLightenColor(handle, color, ColorDiff, ColorDiff, ColorDiff); + MwLLColor colord = MwLightenColor(handle, color, -ColorDiff, -ColorDiff, -ColorDiff); + MwPoint persp_top[5]; + MwPoint persp_right[5]; + + node.x += gap; + + node.height = -c->entries[i].value / (vmax - vmin) * (r.height - space); + node.y = (r.height - space) - (0 - vmin) / (vmax - vmin) * (r.height - space); + + MwDrawRect(handle, &node, color); + + if(type == MwCHART_3D_BAR) { + MwRect node2 = node; + + MwFixRect(&node2); + + persp_top[0] = *(MwPoint*)&node2; + persp_top[1] = *(MwPoint*)&node2; + persp_top[1].x += node2.width; + + persp_top[2] = persp_top[1]; + persp_top[3] = persp_top[0]; + + persp_top[2].x += node2.width / 2; + persp_top[2].y -= node2.width / 2; + + persp_top[3].x += node2.width / 2; + persp_top[3].y -= node2.width / 2; + + persp_top[4] = persp_top[0]; + + MwLLPolygon(handle->lowlevel, persp_top, 4, colorl); + + persp_right[0] = *(MwPoint*)&node2; + persp_right[1] = *(MwPoint*)&node2; + persp_right[0].x += node2.width; + persp_right[1].x += node2.width; + persp_right[1].y += node2.height; + + persp_right[2] = persp_right[1]; + persp_right[3] = persp_right[0]; + + persp_right[2].x += node2.width / 2; + persp_right[2].y -= node2.width / 2; + + persp_right[3].x += node2.width / 2; + persp_right[3].y -= node2.width / 2; + + persp_right[4] = persp_right[0]; + + MwLLPolygon(handle->lowlevel, persp_right, 4, colord); + } + + if(!MwGetInteger(handle, MwNmodernLook)) { + MwDrawRectLine(handle, &node, border); + + if(type == MwCHART_3D_BAR) { + MwLLLine(handle->lowlevel, &persp_top[0], border); + MwLLLine(handle->lowlevel, &persp_top[1], border); + MwLLLine(handle->lowlevel, &persp_top[2], border); + MwLLLine(handle->lowlevel, &persp_top[3], border); + + MwLLLine(handle->lowlevel, &persp_right[0], border); + MwLLLine(handle->lowlevel, &persp_right[1], border); + MwLLLine(handle->lowlevel, &persp_right[2], border); + MwLLLine(handle->lowlevel, &persp_right[3], border); + } + } + + p[0].x = node.x + node.width / 2; + p[0].y = r.height - space / 2; + + MwDrawText(handle, NULL, p, c->entries[i].name, MwALIGNMENT_CENTER, border); + + node.x += node.width; + + MwLLFreeColor(colord); + MwLLFreeColor(colorl); + MwLLFreeColor(color); + } + } else if(type == MwCHART_PIE) { + double sum = 0; + int radius = r.width < r.height ? r.width : r.height; + double cangle = 0; + int k; + + for(i = 0; i < arrlen(c->entries); i++) { + if(c->entries[i].value > 0) sum += c->entries[i].value; + } + + for(k = 0; k < 2; k++) { + for(i = 0; i < arrlen(c->entries); i++) { + MwLLColor color; + double angle = c->entries[i].value / sum * 360; + MwPoint p[360 + 1 + 1]; + int div = angle / PIE_DIV; + int j; + int count; + + if(c->entries[i].value <= 0) continue; + + color = MwParseColor(handle, c->entries[i].color == NULL ? colors[i % n] : c->entries[i].color); + + p[0].x = r.width / 2; + p[0].y = r.height / 2; + for(j = 0; j <= div; j++) { + double a = angle / div * j; + + p[div - j + 1].x = p[0].x + cos((cangle + a - 90) / 180 * M_PI) * radius / 2; + p[div - j + 1].y = p[0].y + sin((cangle + a - 90) / 180 * M_PI) * radius / 2; + } + + count = j + 1; + + if(k == 0) { + MwLLPolygon(handle->lowlevel, p, count, color); + } else { + int j; + + p[count] = p[0]; + for(j = 0; j < count; j++) { + MwLLLine(handle->lowlevel, &p[j], border); + } + + p[0].x += cos((cangle + angle / 2 - 90) / 180 * M_PI) * radius / 4; + p[0].y += sin((cangle + angle / 2 - 90) / 180 * M_PI) * radius / 4; + MwDrawText(handle, NULL, p, c->entries[i].name, MwALIGNMENT_CENTER, border); + } + + cangle += angle; + + MwLLFreeColor(color); + } + } + } + + MwLLFreeColor(border); + MwLLFreeColor(base); +} + +static void prop_change(MwWidget handle, const char* key) { + if(strcmp(key, MwNtype) == 0) MwForceRender(handle); +} + +static int mwChartAddImpl(MwWidget handle, int index, const char* text, double value, const char* color) { + MwChart c = handle->internal; + MwChartEntry e; + + if(index == -1) index = arrlen(c->entries); + + e.name = MwStringDuplicate(text); + e.color = color == NULL ? NULL : MwStringDuplicate(color); + e.value = value; + + arrins(c->entries, index, e); + + MwForceRender(handle); + + return index; +} + +static void mwChartDeleteImpl(MwWidget handle, int index) { + MwChart c = handle->internal; + + if(index == -1) index = arrlen(c->entries) - 1; + + free(c->entries[index].name); + if(c->entries[index].color != NULL) free(c->entries[index].color); + arrdel(c->entries, index); + + MwForceRender(handle); +} + +static void mwChartResetImpl(MwWidget handle) { + MwChart c = handle->internal; + int i; + + for(i = 0; i < arrlen(c->entries); i++) { + free(c->entries[i].name); + if(c->entries[i].color != NULL) free(c->entries[i].color); + } + arrfree(c->entries); + + MwForceRender(handle); +} + +static void func_handler(MwWidget handle, const char* name, void* out, va_list va) { + if(strcmp(name, "mwChartAdd") == 0) { + int index = va_arg(va, int); + const char* text = va_arg(va, const char*); + double value = va_arg(va, double); + const char* color = va_arg(va, const char*); + *(int*)out = mwChartAddImpl(handle, index, text, value, color); + } + if(strcmp(name, "mwChartDelete") == 0) { + int index = va_arg(va, int); + mwChartDeleteImpl(handle, index); + } + if(strcmp(name, "mwChartReset") == 0) { + mwChartResetImpl(handle); + } +} + +MwClassRec MwChartClassRec = { + wcreate, /* create */ + destroy, /* destroy */ + draw, /* draw */ + NULL, /* click */ + NULL, /* parent_resize */ + prop_change, /* prop_change */ + NULL, /* mouse_move */ + NULL, /* mouse_up */ + NULL, /* mouse_down */ + NULL, /* key */ + func_handler, /* execute */ + NULL, /* tick */ + MwForceRender, /* resize */ + NULL, /* children_update */ + NULL, /* children_prop_change */ + NULL, /* clipboard */ + NULL, /* props_change */ + NULL, + NULL, + NULL}; +MwClass MwChartClass = &MwChartClassRec; diff --git a/src/widget/clock.c b/src/widget/clock.c new file mode 100644 index 0000000..70471c6 --- /dev/null +++ b/src/widget/clock.c @@ -0,0 +1,141 @@ +#include + +static int wcreate(MwWidget handle) { + MwSetDefault(handle); + + MwSetInteger(handle, MwNhour, 0); + MwSetInteger(handle, MwNminute, 0); + MwSetInteger(handle, MwNsecond, 0); + return 0; +} + +static void hand(MwWidget handle, double x, double y, double width, double length, double angle, MwLLColor inside, MwLLColor border) { + double w = MwGetInteger(handle, MwNwidth); + double h = MwGetInteger(handle, MwNheight); + MwPoint p[5]; + int i; + double rad = (angle - 90) / 180 * M_PI; + double c = cos(rad); + double s = sin(rad); + double c2 = cos(rad - 0.5 * M_PI); + double s2 = sin(rad - 0.5 * M_PI); + double c3 = cos(rad - M_PI); + double s3 = sin(rad - M_PI); + + if(width < width / 10) width = width / 10; + + p[0].x = c2 * width / 2; + p[0].y = s2 * width / 2; + + p[1].x = c3 * width / 2 * 2; + p[1].y = s3 * width / 2 * 2; + + p[2].x = -c2 * width / 2; + p[2].y = -s2 * width / 2; + + p[3].x = c * length; + p[3].y = s * length; + + for(i = 0; i < 4; i++) { + p[i].x += w / 2 + x; + p[i].y += h / 2 + y; + } + + p[4] = p[0]; + + MwLLPolygon(handle->lowlevel, p, 4, inside); + + MwLLLine(handle->lowlevel, &p[0], border); + MwLLLine(handle->lowlevel, &p[1], border); + MwLLLine(handle->lowlevel, &p[2], border); + MwLLLine(handle->lowlevel, &p[3], border); +} + +static void draw(MwWidget handle) { + int ColorDiff = MwGetColorDifference(handle); + int ShadowDist; + int BaseWidth; + MwLLColor base = MwParseColor(handle, MwGetText(handle, MwNbackground)); + MwLLColor shadow = MwLightenColor(handle, base, -ColorDiff, -ColorDiff, -ColorDiff); + MwLLColor inside = MwParseColor(handle, MwGetText(handle, MwNsubBackground)); + MwLLColor border = MwParseColor(handle, MwGetText(handle, MwNsubForeground)); + MwRect r; + int i; + double w; + double fs = (MwGetInteger(handle, MwNsecond) % 60); + double fm = (MwGetInteger(handle, MwNminute) % 60) + (MwGetInteger(handle, MwNsecond) % 60) / 60.0; + double s = (double)(MwGetInteger(handle, MwNsecond) % 60) / 60 * 360; + double m = ((double)(MwGetInteger(handle, MwNminute) % 60) + fs / 60.0) / 60 * 360; + double h = ((double)(MwGetInteger(handle, MwNhour) % 12) + fm / 60.0) / 12 * 360; + + r.x = 0; + r.y = 0; + r.width = MwGetInteger(handle, MwNwidth); + r.height = MwGetInteger(handle, MwNheight); + MwDrawRect(handle, &r, base); + + w = r.width < r.height ? r.width : r.height; + + BaseWidth = w / 10; + ShadowDist = BaseWidth / 3; + + for(i = 0; i < 12; i++) { + MwPoint p[2]; + double rad = i * 30 / 180.0 * M_PI; + double c = cos(rad); + double s = sin(rad); + double x, y; + double l = w / 2 / 5; + + x = r.width / 2 + c * w / 2 - l * c; + y = r.height / 2 + s * w / 2 - l * s; + + p[0].x = x + l * c / (i % 3 ? 2 : 1); + p[0].y = y + l * s / (i % 3 ? 2 : 1); + + p[1].x = x; + p[1].y = y; + + MwLLLine(handle->lowlevel, p, border); + } + + hand(handle, ShadowDist, ShadowDist, BaseWidth, w / 2 * 2 / 3, h, shadow, shadow); + hand(handle, ShadowDist, ShadowDist, BaseWidth, w / 2, m, shadow, shadow); + hand(handle, ShadowDist, ShadowDist, BaseWidth / 4, w / 2, s, shadow, shadow); + + hand(handle, 0, 0, w / 10, w / 2 * 2 / 3, h, inside, border); + hand(handle, 0, 0, BaseWidth, w / 2, m, inside, border); + hand(handle, 0, 0, BaseWidth / 4, w / 2, s, inside, border); + + MwLLFreeColor(border); + MwLLFreeColor(inside); + MwLLFreeColor(shadow); + MwLLFreeColor(base); +} + +static void prop_change(MwWidget handle, const char* key) { + if(strcmp(key, MwNhour) == 0 || strcmp(key, MwNminute) == 0 || strcmp(key, MwNsecond) == 0) MwForceRender(handle); +} + +MwClassRec MwClockClassRec = { + wcreate, /* create */ + NULL, /* destroy */ + draw, /* draw */ + NULL, /* click */ + NULL, /* parent_resize */ + prop_change, /* prop_change */ + NULL, /* mouse_move */ + NULL, /* mouse_up */ + NULL, /* mouse_down */ + NULL, /* key */ + NULL, /* execute */ + NULL, /* tick */ + NULL, /* resize */ + NULL, /* children_update */ + NULL, /* children_prop_change */ + NULL, /* clipboard */ + NULL, /* props_change */ + NULL, + NULL, + NULL}; +MwClass MwClockClass = &MwClockClassRec; diff --git a/src/widget/combobox.c b/src/widget/combobox.c index e53647d..5502a07 100644 --- a/src/widget/combobox.c +++ b/src/widget/combobox.c @@ -20,12 +20,8 @@ static int wcreate(MwWidget handle) { static void destroy(MwWidget handle) { MwComboBox cb = handle->internal; - int i; - for(i = 0; i < arrlen(cb->list); i++) { - free(cb->list[i]); - } - arrfree(cb->list); + MwComboBoxReset(handle); free(handle->internal); } @@ -145,6 +141,13 @@ static void prop_change(MwWidget handle, const char* prop) { } } +static void parent_resize(MwWidget handle) { + MwComboBox cb = handle->internal; + if(cb->opened) { + click(handle); + } +} + static void mwComboBoxAddImpl(MwWidget handle, int index, const char* text) { MwComboBox cb = handle->internal; char* t = MwStringDuplicate(text); @@ -153,7 +156,7 @@ static void mwComboBoxAddImpl(MwWidget handle, int index, const char* text) { arrins(cb->list, index, t); - if(index <= MwGetInteger(handle, MwNvalue)) MwForceRender(handle); + MwForceRender(handle); } static const char* mwComboBoxGetImpl(MwWidget handle, int index) { @@ -162,6 +165,29 @@ static const char* mwComboBoxGetImpl(MwWidget handle, int index) { return cb->list[index]; } +static void mwComboBoxDeleteImpl(MwWidget handle, int index) { + MwComboBox cb = handle->internal; + int n = MwGetInteger(handle, MwNvalue); + + free(cb->list[index]); + arrdel(cb->list, index); + + if(index < n && n > 0) { + MwSetInteger(handle, MwNvalue, n - 1); + } + + MwForceRender(handle); +} + +static void mwComboBoxResetImpl(MwWidget handle) { + MwComboBox cb = handle->internal; + + arrfree(cb->list); + MwSetInteger(handle, MwNvalue, 0); + + MwForceRender(handle); +} + static void func_handler(MwWidget handle, const char* name, void* out, va_list va) { if(strcmp(name, "mwComboBoxAdd") == 0) { int index = va_arg(va, int); @@ -172,12 +198,12 @@ static void func_handler(MwWidget handle, const char* name, void* out, va_list v int index = va_arg(va, int); *(const char**)out = mwComboBoxGetImpl(handle, index); } -} - -static void parent_resize(MwWidget handle) { - MwComboBox cb = handle->internal; - if(cb->opened) { - click(handle); + if(strcmp(name, "mwComboBoxDelete") == 0) { + int index = va_arg(va, int); + mwComboBoxDeleteImpl(handle, index); + } + if(strcmp(name, "mwComboBoxReset") == 0) { + mwComboBoxResetImpl(handle); } } diff --git a/src/widget/treeview.c b/src/widget/treeview.c index 3fba309..d07d355 100644 --- a/src/widget/treeview.c +++ b/src/widget/treeview.c @@ -317,6 +317,7 @@ static int wcreate(MwWidget handle) { } static void destroy(MwWidget handle) { + MwTreeViewReset(handle); free(handle->internal); } diff --git a/src/widget/window.c b/src/widget/window.c index 3d0afe2..9ea16a3 100644 --- a/src/widget/window.c +++ b/src/widget/window.c @@ -51,6 +51,7 @@ static void func_handler(MwWidget handle, const char* name, void* out, va_list v mwWindowShouldCloseImpl(handle, out); } } + MwClassRec MwWindowClassRec = { wcreate, /* create */ NULL, /* destroy */