5c45bb188ab729e501e48732842cb9de6a9813beAlex Valavanis#include <glibmm/ustring.h>
5c45bb188ab729e501e48732842cb9de6a9813beAlex Valavanis#include <vector>
963d87c95becc6ec4f174719cbb31aec3a5e989aJucaBlues
11f343b8117dbf56931f537820c2749a8232fec2Liam P. White// A type which can hold any UTF-32 or UCS-4 character code.
11f343b8117dbf56931f537820c2749a8232fec2Liam P. Whitetypedef unsigned int gunichar;
11f343b8117dbf56931f537820c2749a8232fec2Liam P. White
963d87c95becc6ec4f174719cbb31aec3a5e989aJucaBluesstruct Urange{
11f343b8117dbf56931f537820c2749a8232fec2Liam P. White char* start;
11f343b8117dbf56931f537820c2749a8232fec2Liam P. White char* end;
963d87c95becc6ec4f174719cbb31aec3a5e989aJucaBlues};
963d87c95becc6ec4f174719cbb31aec3a5e989aJucaBlues
963d87c95becc6ec4f174719cbb31aec3a5e989aJucaBluesclass UnicodeRange{
963d87c95becc6ec4f174719cbb31aec3a5e989aJucaBluespublic:
11f343b8117dbf56931f537820c2749a8232fec2Liam P. WhiteUnicodeRange(const char* val);
11f343b8117dbf56931f537820c2749a8232fec2Liam P. Whiteint add_range(char* val);
11f343b8117dbf56931f537820c2749a8232fec2Liam P. Whitebool contains(char unicode);
280e31bdf7f5ffd28f8b14565c1d93de4070bd0cJucaBluesGlib::ustring attribute_string();
280e31bdf7f5ffd28f8b14565c1d93de4070bd0cJucaBluesgunichar sample_glyph();
963d87c95becc6ec4f174719cbb31aec3a5e989aJucaBlues
963d87c95becc6ec4f174719cbb31aec3a5e989aJucaBluesprivate:
963d87c95becc6ec4f174719cbb31aec3a5e989aJucaBluesstd::vector<Urange> range;
963d87c95becc6ec4f174719cbb31aec3a5e989aJucaBluesstd::vector<gunichar> unichars;
963d87c95becc6ec4f174719cbb31aec3a5e989aJucaBlues};
963d87c95becc6ec4f174719cbb31aec3a5e989aJucaBlues