/*
Copyright 2021 Gabriel Jensen
This file is part of luma.
luma is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
luma is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with luma.
If not, see .
*/
# include
# include
# include
# include
# include
# include
# include
# include
int main(void) {
setlocale(LC_ALL,"en_GB.UTF-8");
enum luma_arch code[] = {
luma_arch_lab,
luma_arch_hello,
};
for(size_t i = (size_t){0x0};i < sizeof code / sizeof code[0x0];++i) {
printf("Got code %d.\n",code[i]);
}
{
uint8_t * msg = NULL;
luma_utf8enc((uint32_t[]){0x00A2,0x2C,0x939,0x2C,0x10348,0x2C,0x20AC,0x2C,0x218A,0x2C,0x1F44B,0x0},&msg,NULL);
printf("Array: %s\n",msg);
free((void *){msg});
}
{
uint32_t * codeps = NULL;
uint8_t * utf = NULL;
luma_utf8enc((uint32_t[]){0x1F44B,0x0},&utf,NULL);
luma_utf8dec(utf,&codeps,NULL);
free((void *)utf);
printf("It is %u.\n",codeps[0x0]);
free((void *)codeps);
}
luma_print((uint32_t[]){0x48,0x65,0x6C,0x6C,0x6F,0x20,0xFFFD,0x65,0x72,0x65,0x21,0x0},(uint32_t){0xF0});
exit(EXIT_SUCCESS);
}