Share

Unicode-GLib

File Release Notes and Changelog

Release Name: Unicode-GLib 1.4b

Notes:
The big changes are:

UniList:
1. Supports variable list item height
2. Lets you add list items dynamically
3. Or lets you write your own function to display list items
4. Allows you to style (color) your list items with a custom function
5. Supports a scroll bar
6. Has a more extensive event handler

UniText:
1. Lets you style (color) your text with a custom function
2. Supports a scrollbar
3. Has a more extensive event handler
4. SUPPORTS TEXT ENTRY! Including cursor movement, highlighting with the pen, copy/cut/paste, and a popup keyboard!

UniKeyboard:
This functionality can display user/developer created keyboards. Keyboards are stored as databases, which can be created using a Java program distributed in this SourceForge project. (See unicode-glib-keyboard-maker.)

Unicode Database:
Unicode-GLib now reads a new Unicode Character Database format that is smaller, but includes data on composition/decomposition mappings. This data is not yet used in a meaningful way, however.

Changes: 2006-11-14 --I've been losing steam on this project. Decided to release it as is for now. --Known issues: --Keyboard text doesn't display the first time a keyboard loads on OS 3.5 --Reports of Hi-Res fonts crashing Palm TX --KeyMap (which turns key presses/Graffiti strokes into Unicode characters) is not finished yet 2006-10-23 --Able to load multiple Keyboard and KeyMap databases --Able to inhibit code-page-changing on certain buttons with the UNIKEY_ABSOLUTE flag --Able to highlight certain buttons (e.g. SHIFT, CAPSLOCK, GOTOPAGE) 2006-10-21 --Got UniText and UniList to use the PalmOS User Interface color preferences the user has chosen --Implemented code-page changing 2006-10-20 --Keyboard buttons can now display their characters! --Made special font-amalgums for Tab -> | Backspace <-- and Return <-/ --Pen taps on Keyboard buttons now types into the Keyboard-UniText --Implemented Return, Tab, Backspace, Delete, Shift, CapsLock, and GotoPage functions 2006-10-19 --Wrote code to load UniKeyboard data files (creator UniD/type UniK) and data types to make the records readable --Can successfully load the keyboard data, and display a page of properly-sized lines and buttons 2006-10-18 --Wrote Java program to make UniKeyboard data files 2006-10-17 --Started work on record structure for keyboard forms --Added underline property to UniText 2006-10-16 --Added UniTextCreateDataForKeyboard & UniTextDestroyDataForKeyboard that help with popup keyboard dialog 2006-10-15 --UniText should now always recalculate line data when chars are inserted or deleted. --New FindLineBreaks function that tries to preserve any valid line break data it can by looking for the first return character after the insertion/deletion and extrapolating character positions based on the number of chars inserted/deleted --Fixed hit-testing on line breaks 2006-10-13 --Scrollbar page size changes at start and end of list so you can't scroll off ends of list --Scrollbar does not display if the entire list/text is on the screen 2006-10-12 --Added variable accessor functions to UniList --Finished scroll arrow support for UniList --Updated version to 1.32 / 1_32 / 132 2006-10-11 --Added a "truncateCharacters" option to UniStrUniCharPrintLine that implements character truncation instead of word wrapping at the end of a line. Useful for lists, labels, buttons, where there is no scrolling available. --Changed UniTextCreateData to set the frame bounds to different sizes depending on which frame type was selected --Rewrote UniList to include its text items in its data structure, or allow for a custom list drawing function to draw each element --UniList elements can be individually styled and you can use a styling function --UniList elements can be (must be) appended, deleted, or inserted at runtime 2006-10-10 --Fixed right-to-left display issues where final space or other character pushed first character off the left side of the page --When text is selected, pushing an arrow key deselects and moves to front or back of selection --Added UniTextSelectAll function that highlights all text --Added UniTextSetTextDirection that lets you switch between Left-aligned/LTR-default and Right-aligned/RTL-default, and redraws screen accordingly --Keep cursor from writing outside of the text area --Added ability to use scroll bars with UniText 2006-10-09 --added clipboard functions Copy, Cut, and Paste to UniStr and UniText. Paste can read ASCII text from other apps and turn it into Unicode. Pasting out to other non-Unicode apps would require developer to write custom function (like, "Copy ASCII Only" or something) --added sounds to UniText for pen taps and arrow keys --UniTextInsertNUniChar32 and UniTextInsertNUniChar32AtCursor can accept a style array to insert in parallel to the text array --It is possible to make the UniText gadget focused/not-focused by using UniTextSetCursorEnabled, or letting UniTextHandleEvent see a pen down event outside the gadget's bounds --Fixed so that UniText gadget can be placed at x positions other than 0 and still work properly --Added frameBounds to UniTextType, and frame drawing code to UniTextHandleEvent 2006-10-07 --ability to pass in a style array that is parallel to the text array --ability to style text using a callback (style means primarily foreground & background color) 2006-10-06 --ability to highlight text, delete or insert at highlighted area 2006-09-28 --fixed some issues with cursor placement in bidirectional text --changed UniStrReadNextUniChar to explicitly return false and index of null terminator when it finds null terminator. This was not returned before and it caused an infinite loop in UniStrUniCharPrintLine when strings ended with a combining character. 2006-09-27 --added cursor graphics, blinking --cursor movement works partially - still issues with line end, text end, and bi-directional --worked on UniTextHandleEvent for default functionality --made utility function for UniStrUniCharPrintLine to call to build UniCharPositionsType, namely UniStrAddCharPosition 2006-09-25, 2006-09-26 --developed structure for holding character positions on a line for use by cursor and hit test - UniCharPositionsType --worked on hit test algorithm --worked on cursor placement algorithm 2006-09-21 --added more UniText functions --tried to standardize UniStr length and copy functions 2006-09-20 --Converted all UniText functions to operate on UniChar32 data --Changed version to 1.31 / 1_31 / 131 (change version in Version.rcp and makefile and UniString.def) 2006-09-19 --Added UniKeyMapNew, UniKeyMapFree, and UniKeyMapInput, to allow custom keyboard mappings from keyboard input to Unicode output 2006-09-15 --UniStrGetExtent was not exposed to exteral applications. Fixed this so it is now an available function. 2006-07-31 --Added UniUtilReleaseCode which applications should call when they exit to release locks on secondary code segments in UniLib 2006-07-28 --Updated version to 1.3 / 1_3 / 130 2006-07-27 --Changed to a multisegment project. ----Changed makefile to include section information ----Changed UniString.def to include "multiple code { ... }" information ----Added Segments.c to keep function wrappers needed for multisegmentation. --Added creator, type, and dbName fields to DmVFSRefType. --Changed DmVFS functions to store creator, type, and name in DmVFSRefType. 2006-07-25 --Changed UniStrUniCharPrintLine to require a returnLineWidth parameter that is modified to tell the width of the character output at the end of the line of text. --Changed UniStrUniCharPrintLine to require a printLine parameter (true or false) that tells whether or not the text will be printed, or merely evaluated to see if it will fit, and the line width and height be returned along with the byte offset of how many characters can be used. --Added UniStrGetExtent that is a wrapper method to UniStrUniCharPrintLine. It calls the method and tells it not to print the text, but only to give the width and height that would be used if the text were printed.