*/}}
Browse Source

Warning and stuff fix

YimingWu 3 months ago
parent
commit
5ac149624e
18 changed files with 377 additions and 382 deletions
  1. 5 2
      CMakeLists.txt
  2. 1 1
      la_animation.c
  3. 1 1
      la_audio.c
  4. 25 25
      la_data.c
  5. 3 3
      la_data.h
  6. 223 223
      la_icon.h
  7. 2 2
      la_icon_gen.py
  8. 6 6
      la_interface.h
  9. 17 29
      la_kernel.c
  10. 12 12
      la_tns.h
  11. 11 7
      la_tns_kernel.c
  12. 1 0
      la_tns_shape.c
  13. 33 36
      la_util.c
  14. 20 20
      la_util.h
  15. 9 7
      resources/la_operators.c
  16. 3 3
      resources/la_properties.c
  17. 4 4
      resources/la_widgets.c
  18. 1 1
      resources/la_widgets_viewers.c

+ 5 - 2
CMakeLists.txt

@@ -82,8 +82,11 @@ file(GLOB SOURCE_FILES
 file(GLOB HEADER_FILES 
 	./*.h ./*.hpp ./resources/*.h ./resources/*.hpp BuildResources/*.h)
 
-add_definitions(-DLAGUI_FONT_CUSTOM_PATH=\"${LAGUI_FONT_CUSTOM_PATH}\")
-#add_definitions(-Werror=return-type)
+#add_definitions(-DLAGUI_FONT_CUSTOM_PATH=\"${LAGUI_FONT_CUSTOM_PATH}\")
+#add_definitions(-Wno-incompatible-pointer-types)
+#add_definitions(-Wno-int-conversion)
+#add_definitions(-Wno-discarded-qualifiers)
+#add_definitions(-Werror=implicit-function-declaration)
 add_definitions(-w)
 
 if(${LAGUI_ANDROID})

+ 1 - 1
la_animation.c

@@ -25,7 +25,7 @@ void la_AnimationEvaluateActions(int ClampOffsets);
 void laget_AnimationActionHolderCategory(void* a_unused, laActionHolder* ah, char* copy, char** ptr);
 void laui_AnimationActionHolder(laUiList *uil, laPropPack *This, laPropPack *Extra, laColumn *ExtraColumns, int context);
 
-int laAnimationRegisterHolderPath(const char* Path){
+int laAnimationRegisterHolderPath(char* Path){
     laPropPack PP={0}; if(!la_GetPropFromPath(&PP,0,Path,0)){ la_FreePropStepCache(PP.Go); return 0; }
     la_EnsureSubTarget(PP.LastPs->p,0);
     if((!PP.LastPs->p->SubProp) || (!la_PropLookup(&PP.LastPs->p->SubProp->Props,"__actions__"))){

+ 1 - 1
la_audio.c

@@ -844,7 +844,7 @@ void laSetAudioCallback(laAudioCallbackF Callback){
 }
 
 void laaudio_DataCallback(ma_device* pDevice, void* pOutput, const void* pInput, ma_uint32 frameCount){
-    float* out=pOutput,*in=pInput; int Paused; int any=0;
+    float* out=pOutput; const float *in=pInput; int Paused; int any=0;
     laSpinLock(&MAIN.Audio->AudioStatusLock);
     Paused = MAIN.Audio->Paused;
     laSpinUnlock(&MAIN.Audio->AudioStatusLock);

+ 25 - 25
la_data.c

@@ -27,10 +27,10 @@ const char* LA_UDF_EXTENSION_STRINGS[]={
     "",
 };
 
-int la_IsThisProp(laProp *p, char *id){
+int la_IsThisProp(const laProp *p, const char *id){
     return (!strcmp(p->Identifier, id));
 }
-laProp *la_PropLookup(laListHandle *lst, char *ID){
+laProp *la_PropLookup(laListHandle *lst, const char *ID){
     laProp *p = 0, *ip;
     if (!lst) return 0;
     p = lstFindItem(ID, la_IsThisProp, lst);
@@ -55,7 +55,7 @@ laProp *la_PropLookupIdentifierItem(laListHandle *lst){
 int la_IsThisContainer(laPropContainer *p, char *id){
     return (!strcmp(p->Identifier, id));
 }
-laPropContainer *la_ContainerLookup(char *ID){
+laPropContainer *la_ContainerLookup(const char *ID){
     laPropContainer* pc= lstFindItem(ID, la_IsThisContainer, &MAIN.PropContainers);
     return pc;
 }
@@ -144,7 +144,7 @@ void la_PrintUserList(void* HyperUserMem){
     laListHandle* users = laGetUserList(HyperUserMem, 0, &local); if (!users) return;
     for (iul = users->pFirst; iul; iul = next_iul) {
         next_iul = iul->Pointer.pNext;
-        printf("p %x  which %s add %x\n", iul->Pointer.p, iul->Which ? iul->Which->Identifier : "-", iul->Additional);
+        printf("p %llx  which %s add %llx\n", iul->Pointer.p, iul->Which ? iul->Which->Identifier : "-", iul->Additional);
     }
 }
 
@@ -643,7 +643,7 @@ void* laget_InstanceSelf(void* instace){
 }
 const char* LA_N_A="N/A";
 void *la_GetReadDBInstNUID(char *ReferReadNUID);
-void laget_InstanceUID(void* instance, char* buf, char** ptr){
+void laget_InstanceUID(void* instance, char* buf, const char** ptr){
     int level; laMemNodeHyper* m=memGetHead(instance,&level);
     if(level!=2||!m) return; *ptr=LA_N_A;
     *ptr=m->NUID.String;
@@ -1359,7 +1359,7 @@ int laSetIntArraySingle(laPropPack *pp, int index, int n){
             laSetInt(pp, n);
             return 1;
         }elif (pp->LastPs->p->Offset>=0){
-            int *src = (pp->LastPs->p->OffsetIsPointer) ? ((int **)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset)) : ((int *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset));
+            int *src = (pp->LastPs->p->OffsetIsPointer) ? ((int *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset)) : ((int *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset));
             switch(pp->LastPs->p->ElementBytes){
                 default: case 4: src[index] = n; break;
                 case 2: ((short*)src)[index]=n; break;
@@ -1392,7 +1392,7 @@ int laSetIntArrayAll(laPropPack *pp, int n){
                 p->SetArr(pp->LastPs->UseInstance, i, n);
             }
         }elif (pp->LastPs->p->Offset>=0){
-            int *src = (pp->LastPs->p->OffsetIsPointer) ? ((int **)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset)) : ((int *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset));
+            int *src = (pp->LastPs->p->OffsetIsPointer) ? ((int *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset)) : ((int *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset));
             int i = 0, len = laGetArrayLength(pp);
             for (i; i < len; i++){ 
                 switch(pp->LastPs->p->ElementBytes){
@@ -1443,7 +1443,7 @@ int laSetIntArrayAllArray(laPropPack *pp, int *arr){
                 ((laIntProp *)pp->LastPs->p)->SetArr(pp->LastPs->UseInstance, i, arr[i]);
             }
         }else if (pp->LastPs->p->Offset>=0){
-            int *src = (pp->LastPs->p->OffsetIsPointer) ? ((int **)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset)) : ((int *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset));
+            int *src = (pp->LastPs->p->OffsetIsPointer) ? ((int *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset)) : ((int *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset));
             int i = 0, len = laGetArrayLength(pp);
             for (i; i < len; i++){
                 switch(pp->LastPs->p->ElementBytes){
@@ -1471,7 +1471,7 @@ int laGetIntArray(laPropPack *pp, int *result){
             int len = laGetArrayLength(pp);
             if(len==1){ *result=laGetInt(pp); return 1; }
             if(pp->LastPs->p->Offset>=0){
-                int *src = (pp->LastPs->p->OffsetIsPointer) ? ((int **)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset)) : ((int *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset));
+                int *src = (pp->LastPs->p->OffsetIsPointer) ? ((int *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset)) : ((int *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset));
                 switch(pp->LastPs->p->ElementBytes){
                     default: case 4: memcpy(result, src, len * sizeof(int)); break;
                     case 2: for(int i=0;i<len;i++){ result[i]=((short*)src)[i]; } break;
@@ -1511,7 +1511,7 @@ int laSetFloatArraySingle(laPropPack *pp, int index, real n){
             laSetFloat(pp, n);
             return 1;
         }elif (pp->LastPs->p->Offset>=0){
-            real *src = (pp->LastPs->p->OffsetIsPointer) ? ((real **)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset)) : ((real *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset));
+            real *src = (pp->LastPs->p->OffsetIsPointer) ? ((real *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset)) : ((real *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset));
             src[index] = n;
             laNotifyUsersPP(pp);
             return 1;
@@ -1541,7 +1541,7 @@ int laSetFloatArrayAll(laPropPack *pp, real n){
                 p->SetArr(pp->LastPs->UseInstance, i, n);
             }
         }else if (pp->LastPs->p->Offset>=0){
-            real *src = (pp->LastPs->p->OffsetIsPointer) ? ((real **)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset)) : ((real *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset));
+            real *src = (pp->LastPs->p->OffsetIsPointer) ? ((real *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset)) : ((real *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset));
             int i = 0, len = laGetArrayLength(pp);
             for (i; i < len; i++){ src[i] = n; }
         }
@@ -1567,7 +1567,7 @@ int laReadFloatArrayAllArray(laPropPack *pp, real *arr){
                 ((laFloatProp *)pp->LastPs->p)->SetArr(pp->LastPs->UseInstance, i, arr[i]);
             }
         }else if (pp->LastPs->p->Offset>=0){
-            real *src = (pp->LastPs->p->OffsetIsPointer) ? ((real **)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset)) : ((real *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset));
+            real *src = (pp->LastPs->p->OffsetIsPointer) ? ((real *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset)) : ((real *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset));
             int i = 0, len = laGetArrayLength(pp);
             for (i; i < len; i++){ src[i] = arr[i]; }
         }
@@ -1594,7 +1594,7 @@ int laSetFloatArrayAllArray(laPropPack *pp, real *arr){
                 ((laFloatProp *)pp->LastPs->p)->SetArr(pp->LastPs->UseInstance, i, arr[i]);
             }
         }else if (pp->LastPs->p->Offset>=0){
-            real *src = (pp->LastPs->p->OffsetIsPointer) ? ((real **)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset)) : ((real *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset));
+            real *src = (pp->LastPs->p->OffsetIsPointer) ? ((real *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset)) : ((real *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset));
             int i = 0, len = laGetArrayLength(pp);
             for (i; i < len; i++){ src[i] = arr[i]; }
         }
@@ -1616,7 +1616,7 @@ int laGetFloatArray(laPropPack *pp, real *result){
             int len = laGetArrayLength(pp);
             if(len==1){ *result=laGetFloat(pp); return 1; }
             if(pp->LastPs->p->Offset>=0){
-                real *src = (pp->LastPs->p->OffsetIsPointer) ? ((real **)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset)) : ((real *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset));
+                real *src = (pp->LastPs->p->OffsetIsPointer) ? ((real *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset)) : ((real *)((BYTE *)pp->LastPs->UseInstance + pp->LastPs->p->Offset));
                 memcpy(result, src, len * sizeof(real));
             }else{ *result=0; }
             return 1;
@@ -2432,15 +2432,15 @@ u64bit la_FileSize(laUDF* udf){
     if(udf->DiskFile){ u64bit a=ftell(udf->DiskFile); fseek(udf->DiskFile,0,SEEK_END); u64bit sz=ftell(udf->DiskFile); fseek(udf->DiskFile,a,SEEK_SET); return sz; }
     return udf->FileContentSize;
 }
-void la_WriteString(laUDF *udf, char *String){
+void la_WriteString(laUDF *udf, const char *String){
     short size = strlen(String);
     fwrite(&size, sizeof(short), 1, udf->DiskFile);
     if (size) fwrite(String, size*sizeof(char), 1, udf->DiskFile);
 }
-void la_WriteOnlyString(laUDF *udf, char *String){
+void la_WriteOnlyString(laUDF *udf, const char *String){
     fwrite(String, strlen(String), 1, udf->DiskFile);
 }
-void la_WriteOnlyMBString(laUDF *udf, char *String){
+void la_WriteOnlyMBString(laUDF *udf, const char *String){
     fwrite(String, strlen(String), 1, udf->DiskFile);
 }
 void la_WriteInt(laUDF *udf, int Data){
@@ -2465,7 +2465,7 @@ void la_WriteFloat(laUDF *udf, real Data){
     fwrite(&Data, sizeof(real), 1, udf->DiskFile);
 }
 void la_WriteSized(laUDF *udf, void* Data, int size){
-    printf("%x %d\n",Data,size);
+    printf("%llx %d\n",Data,size);
     fwrite(Data, size, 1, udf->DiskFile);
 }
 short la_ReadShort(laUDF *udf){
@@ -2860,7 +2860,7 @@ void la_AppendHyperRecord(laUDF *udf, void *HyperUserMem, laPropContainer* pc, u
     hri->pc = pc;
 }
 
-void* la_NextH2Instance(laUDF* udf){
+void la_NextH2Instance(laUDF* udf){
     udf->CurrentH2Instance=(udf->CurrentH2Instance?udf->CurrentH2Instance->Item.pNext:0);
 }
 
@@ -3422,7 +3422,7 @@ int la_ExtractProp(laUDF *udf, laManagedUDF* mUDF, laPropPack *pp, void *ParentI
     return EStatus;
 }
 
-int la_RematchPointers(int Mode){
+void la_RematchPointers(int Mode){
     laUDFPostRead *uprd;
     void* inst;
 
@@ -3452,7 +3452,7 @@ int la_WriteHyperRecords(laUDF *udf){
 
     return i;
 }
-int la_WritePropQuickSeek(laUDF *udf){
+void la_WritePropQuickSeek(laUDF *udf){
     for(laUDFPropSegment* ps=udf->PropsToOperate.pFirst;ps;ps=ps->Item.pNext){
         la_WriteString(udf,SSTR(ps->Path)); la_WriteLong(udf,ps->WriteQuickSeek);
     }
@@ -3786,7 +3786,7 @@ void la_ReadOwnHyperItems(laUDF *udf, laUDFRegistry* r){
         } else {logPrint("Duplicated Resource: %s | %s\n",uid.String,name);}
     }
 }
-int la_ReadPropQuickSeek(laUDF *udf){
+void la_ReadPropQuickSeek(laUDF *udf){
     char* buf[128];
     for(int i=0;i<udf->NumSegmets;i++){
         laUDFPropQuickSeek *qs = memAcquireSimple(sizeof(laUDFPropQuickSeek));
@@ -4373,7 +4373,7 @@ int la_GenerateListDifferences(laDBInst* dbi, laDBSubProp* dbp, laPropPack* pp,
 
     if(!New.pFirst){ dbp->Instances.pFirst=dbp->Instances.pLast=0; }
     
-    for(laDiffTemp* lip=NewDeleted.pFirst;lip;lip=lip->Item.pNext){printf("deleted %x %x\n", dbi, dbi->OriginalInstance);
+    for(laDiffTemp* lip=NewDeleted.pFirst;lip;lip=lip->Item.pNext){printf("deleted %llx %llx\n", dbi, dbi->OriginalInstance);
         laDBInst* dbi=lip->p; lstAppendItem(&dc->RemovedInst, la_NewDiffCommandInst(dbi, lip->tPrev, lip->tNext));
         memTake(dbi->OriginalInstance);
         //if(!dbi->Item.pPrev){dbp->Instances.pFirst=dbi->Item.pNext;}
@@ -4573,7 +4573,7 @@ void la_UndoListDifferences(laDBSubProp* dsp, laDiffCommandSub* dcs){
     }
     for(laDiffCommandInst* dci=dcs->RemovedInst.pFirst;dci;dci=dci->Item.pNext){ if(dcs->Base.p->UDFNoCreate) continue;
         dci->DBInst->Item.pPrev = dci->OriginalPrev;
-        dci->DBInst->Item.pNext = dci->OriginalNext; printf("add removed %s %x \n",dci->DBInst->pc->Identifier, dci->DBInst->OriginalInstance);
+        dci->DBInst->Item.pNext = dci->OriginalNext; printf("add removed %s %llx \n",dci->DBInst->pc->Identifier, dci->DBInst->OriginalInstance);
         void* orig = dci->DBInst->OriginalInstance;
     }
     for(laDiffCommandInst* dci=dcs->RemovedInst.pFirst;dci;dci=dci->Item.pNext){ if(dcs->Base.p->UDFNoCreate) continue;
@@ -4597,7 +4597,7 @@ void la_RedoListDifferences(laDBSubProp* dsp, laDiffCommandSub* dcs){
         //dci->OriginalNext = dci->DBInst->Item.pNext;
         lstRemoveItem(&dsp->Instances, dci->DBInst); lstRemoveItem(ol, dci->DBInst->OriginalInstance); 
         laListItem* li = dci->DBInst->OriginalInstance;
-        printf("remove %x \n", dci->DBInst->OriginalInstance);
+        printf("remove %llx \n", dci->DBInst->OriginalInstance);
     }
     for(laDiffCommandInst* dci=dcs->AddedInst.pFirst;dci;dci=dci->Item.pNext){ if(dcs->Base.p->UDFNoCreate) continue;
         dci->DBInst->Item.pPrev = dci->OriginalPrev;

+ 3 - 3
la_data.h

@@ -790,8 +790,8 @@ void laPropPackToLocal(laPropPack* ToPP, laPropPack* pp);
 
 laPropContainer* la_EnsureSubTarget(laSubProp* sp, void* optional_instance);
 
-laPropContainer *la_ContainerLookup(char *ID);
-laProp *la_PropLookup(laListHandle *lst, char *ID);
+laPropContainer *la_ContainerLookup(const char *ID);
+laProp *la_PropLookup(laListHandle *lst, const char *ID);
 
 void la_UsePropPack(laPropPack *pp, int ForceRecalc);
 void la_StopUsingPropPack(laPropPack *pp);
@@ -1081,6 +1081,6 @@ int laAnimationEvaluateRetargetedActions(laActionRetarget* ar);
 void la_AnimationPreFrame();
 void la_AnimationPostFrame();
 
-int laAnimationRegisterHolderPath(const char* Path);
+int laAnimationRegisterHolderPath(char* Path);
 void laAnimationUpdateHolderList();
 

+ 223 - 223
la_icon.h

@@ -2,595 +2,595 @@
 
 // Latin-1 Supplement
 #ifndef _LA_ICO_LATIN_1_SUPPLEMENT
-#define _LA_ICO_LATIN_1_SUPPLEMENT\
-" «»×÷ÁÂÄÀÅÃÆÇÐÉÊËÈÍÎÏÌÑÓÔÖÒØÕÞÚÛÜÙÝáâäàå"\
-"ãæçðéêëèíîïìñóôöòøõþßúûüùýÿªº¡¿·¶§©®°¢£¥"\
-"¨´¯¸ €‚ƒ„…†‡ˆ‰‘’“”•–—˜™Š‹ŒŽš›œžŸ©®÷"\
+#define _LA_ICO_LATIN_1_SUPPLEMENT \
+" «»×÷ÁÂÄÀÅÃÆÇÐÉÊËÈÍÎÏÌÑÓÔÖÒØÕÞÚÛÜÙÝáâäàå" \
+"ãæçðéêëèíîïìñóôöòøõþßúûüùýÿªº¡¿·¶§©®°¢£¥" \
+"¨´¯¸ €‚ƒ„…†‡ˆ‰‘’“”•–—˜™Š‹ŒŽš›œžŸ©®÷" \
 "¬× ±§"
 ;
 #endif
 
 // Latin Extended-A
 #ifndef _LA_ICO_LATIN_EXTENDED_A
-#define _LA_ICO_LATIN_EXTENDED_A\
-"ĂĀĄĆČĊĎĐĚĖĒĘĞĢĠĦIJİĪĮĶĹĽĻŁŃŇŅŊŐŌŒŔŘŖŚŠŞŤŬ"\
-"ŰŪŲŮŴŶŸŹŽŻăāąćčċďđěėēęğģġħıijīįķĺľļłńňņŋő"\
+#define _LA_ICO_LATIN_EXTENDED_A \
+"ĂĀĄĆČĊĎĐĚĖĒĘĞĢĠĦIJİĪĮĶĹĽĻŁŃŇŅŊŐŌŒŔŘŖŚŠŞŤŬ" \
+"ŰŪŲŮŴŶŸŹŽŻăāąćčċďđěėēęğģġħıijīįķĺľļłńňņŋő" \
 "ōœŕřŗśšşťŭűūųůŵŷźžż"
 ;
 #endif
 
 // Latin Extended-B
 #ifndef _LA_ICO_LATIN_EXTENDED_B
-#define _LA_ICO_LATIN_EXTENDED_B\
+#define _LA_ICO_LATIN_EXTENDED_B \
 "ǍȘȚǎȷșț"
 ;
 #endif
 
 // Spacing Modifier Letters
 #ifndef _LA_ICO_SPACING_MODIFIER_LETTERS
-#define _LA_ICO_SPACING_MODIFIER_LETTERS\
+#define _LA_ICO_SPACING_MODIFIER_LETTERS \
 "˙˝ˆˇ˘˚˜˛ˉ"
 ;
 #endif
 
 // Combining Diacritical Marks
 #ifndef _LA_ICO_COMBINING_DIACRITICAL_MARKS
-#define _LA_ICO_COMBINING_DIACRITICAL_MARKS\
+#define _LA_ICO_COMBINING_DIACRITICAL_MARKS \
 "̧̨̦̰̈̀́̋̄̇̂̌̆̊̃̒̂̈̇̅̃"
 ;
 #endif
 
 // Greek and Coptic
 #ifndef _LA_ICO_GREEK_AND_COPTIC
-#define _LA_ICO_GREEK_AND_COPTIC\
-"ΑΒΧΔΕΗΓΙΚΛΜΝΩΟΦΠΨΡΣΤΘϴΥΞΖαβχδεϵηγικϰλμνω"\
+#define _LA_ICO_GREEK_AND_COPTIC \
+"ΑΒΧΔΕΗΓΙΚΛΜΝΩΟΦΠΨΡΣΤΘϴΥΞΖαβχδεϵηγικϰλμνω" \
 "οφϕπϖψρϱσςτθϑυξζ"
 ;
 #endif
 
 // Latin Extended Additional
 #ifndef _LA_ICO_LATIN_EXTENDED_ADDITIONAL
-#define _LA_ICO_LATIN_EXTENDED_ADDITIONAL\
+#define _LA_ICO_LATIN_EXTENDED_ADDITIONAL \
 "ẞẂẄẀỲẃẅẁỳ"
 ;
 #endif
 
 // General Punctuation
 #ifndef _LA_ICO_GENERAL_PUNCTUATION
-#define _LA_ICO_GENERAL_PUNCTUATION\
+#define _LA_ICO_GENERAL_PUNCTUATION \
 "…“”‘’•–—‚„‹›•‍‼⁉‶′‵⁗″‴‷"
 ;
 #endif
 
 // Currency Symbols
 #ifndef _LA_ICO_CURRENCY_SYMBOLS
-#define _LA_ICO_CURRENCY_SYMBOLS\
+#define _LA_ICO_CURRENCY_SYMBOLS \
 "€"
 ;
 #endif
 
 // Combining Diacritical Marks for Symbols
 #ifndef _LA_ICO_COMBINING_DIACRITICAL_MARKS_FOR_SYMBOLS
-#define _LA_ICO_COMBINING_DIACRITICAL_MARKS_FOR_SYMBOLS\
+#define _LA_ICO_COMBINING_DIACRITICAL_MARKS_FOR_SYMBOLS \
 "⃠⃝⃟⃣⃢⃞⃤⃣⃢⃣⃚⃙⃦⃪⃫⃒⃥⃘⃓⃮⃭⃯⃬⃨⃧⃔⃕⃜⃖⃐⃡⃗⃑⃛⃩"
 ;
 #endif
 
 // Letterlike Symbols
 #ifndef _LA_ICO_LETTERLIKE_SYMBOLS
-#define _LA_ICO_LETTERLIKE_SYMBOLS\
-"™™ℹℬℭℂⅅℰℱℾℌℍℋℑℐℒℳℕℙℿℚℜℝℛℨℤℵℶℸⅆⅇℯℽℷℊⅈⅉℴℼℎ"\
+#define _LA_ICO_LETTERLIKE_SYMBOLS \
+"™™ℹℬℭℂⅅℰℱℾℌℍℋℑℐℒℳℕℙℿℚℜℝℛℨℤℵℶℸⅆⅇℯℽℷℊⅈⅉℴℼℎ" \
 "⅀"
 ;
 #endif
 
 // Number Forms
 #ifndef _LA_ICO_NUMBER_FORMS
-#define _LA_ICO_NUMBER_FORMS\
-"ⅧⅪⅬⅤⅮↁⅣⅭⅨⅠↃↈↀⅦⅥⅩↂⅯⅢⅫⅡⅷⅺⅼↆↇⅴⅾⅳⅽⅸⅰⅿⅶⅵↅⅹⅲ↋ⅻ"\
+#define _LA_ICO_NUMBER_FORMS \
+"ⅧⅪⅬⅤⅮↁⅣⅭⅨⅠↃↈↀⅦⅥⅩↂⅯⅢⅫⅡⅷⅺⅼↆↇⅴⅾⅳⅽⅸⅰⅿⅶⅵↅⅹⅲ↋ⅻ" \
 "ⅱ↊"
 ;
 #endif
 
 // Arrows
 #ifndef _LA_ICO_ARROWS
-#define _LA_ICO_ARROWS\
-"↓←↔↗↖→↘↙↑↕⇧⇨⇩⇦⇫⇬⇭⇮⇯⇰⇳⇪↯↔↕↖↗↘↙↩↪↺↵↻⇣⇵↓⇃⇂⇓"\
-"⇊↧↲↳↡⇆←↽↼⇠⇐⇇⇍⇺↤↩↫⇽⇋↔⇔⇎⇼⇿↮⇹↭⇜↚⇤↢↹⇚↞⇷↜↗⇗↖⇱"\
-"⇖↸⇟⇞→⇀⇁⇴↴⇢⇒⇉⇏⇻↦↪↬⇾⇄⇌⇝↛⇥↣⇛↠⇸↝↘⇲⇘↙⇙⇶↶↷⇅↑↿↾"\
+#define _LA_ICO_ARROWS \
+"↓←↔↗↖→↘↙↑↕⇧⇨⇩⇦⇫⇬⇭⇮⇯⇰⇳⇪↯↔↕↖↗↘↙↩↪↺↵↻⇣⇵↓⇃⇂⇓" \
+"⇊↧↲↳↡⇆←↽↼⇠⇐⇇⇍⇺↤↩↫⇽⇋↔⇔⇎⇼⇿↮⇹↭⇜↚⇤↢↹⇚↞⇷↜↗⇗↖⇱" \
+"⇖↸⇟⇞→⇀⇁⇴↴⇢⇒⇉⇏⇻↦↪↬⇾⇄⇌⇝↛⇥↣⇛↠⇸↝↘⇲⇘↙⇙⇶↶↷⇅↑↿↾" \
 "⇡⇑⇈↕⇕↨↥↰↱↟"
 ;
 #endif
 
 // Mathematical Operators
 #ifndef _LA_ICO_MATHEMATICAL_OPERATORS
-#define _LA_ICO_MATHEMATICAL_OPERATORS\
-"−⋅∙⊙⋄∘⋆≌≊∠∳≐≈≒≆⊦∗⊛≃∵≬⋈∙∲∱≔∁≅∍⊳⊵⋺⋽⋻∮∐≘∛⋏⋎"\
-"⊝∬≜⋄≏∣∕⋇⋫⋭∤⊮⋠⊬⋡⋅∸∔⋒⋐⋑⋓⊫⋱∈∊⋵⋲⋶⋹⋸⋳⋮∅∎⋕⊜≕≝⋝"\
-"⋜⋞⋟≚≡≍≙∹∃⊩∜⊘≑≎∺∇≩⋧⋗≥⋛≳≷≧⊹∻⊷≓∆∞∫⊺∩∾⋉⋋≨⋦⋖≤"\
-"⋚≲≶≦∧∨∡≞⋯−⊖∓≂⊧≫≪⊸⊗⊌⊍⊎⋂⋀⋁⋃⊼⊯≇⊈⊉≵≴≸⊽⊲⊴≉≄∌∉"\
-"≠≭≯≱≹≢≮≰⋪⋬∦⊀≁⋢⋣⊄⊁⊅⊭⊙⊶∟∥∂⋔⊕≺⋨≼≾⊰∏∷∝≟√∶⊆⊇∽"\
-"⋍⊾⋊⋌⊢⊿≗≖∘⊚∖∼∿⋾⋼⋷⋴∢⊓⊔⊡⊟⊞⊠⊏⊑⋤⊐⊒⋥≛⋆≣⊂⊊≻⋩≽≿⊱"\
+#define _LA_ICO_MATHEMATICAL_OPERATORS \
+"−⋅∙⊙⋄∘⋆≌≊∠∳≐≈≒≆⊦∗⊛≃∵≬⋈∙∲∱≔∁≅∍⊳⊵⋺⋽⋻∮∐≘∛⋏⋎" \
+"⊝∬≜⋄≏∣∕⋇⋫⋭∤⊮⋠⊬⋡⋅∸∔⋒⋐⋑⋓⊫⋱∈∊⋵⋲⋶⋹⋸⋳⋮∅∎⋕⊜≕≝⋝" \
+"⋜⋞⋟≚≡≍≙∹∃⊩∜⊘≑≎∺∇≩⋧⋗≥⋛≳≷≧⊹∻⊷≓∆∞∫⊺∩∾⋉⋋≨⋦⋖≤" \
+"⋚≲≶≦∧∨∡≞⋯−⊖∓≂⊧≫≪⊸⊗⊌⊍⊎⋂⋀⋁⋃⊼⊯≇⊈⊉≵≴≸⊽⊲⊴≉≄∌∉" \
+"≠≭≯≱≹≢≮≰⋪⋬∦⊀≁⋢⋣⊄⊁⊅⊭⊙⊶∟∥∂⋔⊕≺⋨≼≾⊰∏∷∝≟√∶⊆⊇∽" \
+"⋍⊾⋊⋌⊢⊿≗≖∘⊚∖∼∿⋾⋼⋷⋴∢⊓⊔⊡⊟⊞⊠⊏⊑⋤⊐⊒⋥≛⋆≣⊂⊊≻⋩≽≿⊱" \
 "∋∑⊃⊋∯⊤⊣∄∴∭≋⊪⊨∪∀⋰⊥⋙⋘∰≀⊻⋿"
 ;
 #endif
 
 // Miscellaneous Technical
 #ifndef _LA_ICO_MISCELLANEOUS_TECHNICAL
-#define _LA_ICO_MISCELLANEOUS_TECHNICAL\
-"⏦⌮⎇〈〉⌒⌬⏣⌞⌍⌟⌌⎋⎚⎄⌲⎁⌃⌴⌵⌭⏨⎖⌀⌱⎓⎂⌄⎊⏉⏁⏄⏇⏚⌁⏧⎃⎆⏥⌢"\
-"⏛⎈⎉⎯⌂⎎⎀⌈⌊⏑⏒⏔⏙⏓⏘⏗⏖⏕⎍⎘⎏⎐⎑⎒⌆⎗⎙⌅⌉⌋⍼⌔⌓⌳⌣⎔⌑⏍⏤⌯"\
-"⌕⌜⌏⌎⌝⌰⎌⏊⏂⏅⏈⏌⎿⏋⎾⏆⏀⏐⏃⌗⌇⎅⏢⌤⏺⏪⏮⏷⏴⏵⏶⏩⏭⏯⏹⏸⌛⏳⌧⌫"\
-"⌦⏏⌨⌥⌘⏎⍽⏱⏲⌚⌖⍾⍻⏿⏻⏼⏽⎔⏾⍿⌚⌛⌨⏏⏩⏪⏫⏬⏭⏮⏯⏰⏱⏲⏳⏸⏹⏺⌶⍺"\
-"⍶⍀⍉⍥⌾⍟⌽⍜⍪⍢⍒⍋⍙⍫⍚⍱⍦⍎⍊⍖⍷⍩⍳⍸⍤⍛⍧⍅⍵⍹⎕⍂⌼⍠⍔⍍⌺⌹⍗⍌"\
-"⌸⍄⌻⍇⍃⍯⍰⍈⍁⍐⍓⍞⍘⍴⍆⍮⌿⌷⍣⍭⍨⍲⍝⍡⍕⍑⍏⍬⌞⌟⏟⏝⎵⎶⏡⎪⎯⌡⎮⌠"\
+#define _LA_ICO_MISCELLANEOUS_TECHNICAL \
+"⏦⌮⎇〈〉⌒⌬⏣⌞⌍⌟⌌⎋⎚⎄⌲⎁⌃⌴⌵⌭⏨⎖⌀⌱⎓⎂⌄⎊⏉⏁⏄⏇⏚⌁⏧⎃⎆⏥⌢" \
+"⏛⎈⎉⎯⌂⎎⎀⌈⌊⏑⏒⏔⏙⏓⏘⏗⏖⏕⎍⎘⎏⎐⎑⎒⌆⎗⎙⌅⌉⌋⍼⌔⌓⌳⌣⎔⌑⏍⏤⌯" \
+"⌕⌜⌏⌎⌝⌰⎌⏊⏂⏅⏈⏌⎿⏋⎾⏆⏀⏐⏃⌗⌇⎅⏢⌤⏺⏪⏮⏷⏴⏵⏶⏩⏭⏯⏹⏸⌛⏳⌧⌫" \
+"⌦⏏⌨⌥⌘⏎⍽⏱⏲⌚⌖⍾⍻⏿⏻⏼⏽⎔⏾⍿⌚⌛⌨⏏⏩⏪⏫⏬⏭⏮⏯⏰⏱⏲⏳⏸⏹⏺⌶⍺" \
+"⍶⍀⍉⍥⌾⍟⌽⍜⍪⍢⍒⍋⍙⍫⍚⍱⍦⍎⍊⍖⍷⍩⍳⍸⍤⍛⍧⍅⍵⍹⎕⍂⌼⍠⍔⍍⌺⌹⍗⍌" \
+"⌸⍄⌻⍇⍃⍯⍰⍈⍁⍐⍓⍞⍘⍴⍆⍮⌿⌷⍣⍭⍨⍲⍝⍡⍕⍑⍏⍬⌞⌟⏟⏝⎵⎶⏡⎪⎯⌡⎮⌠" \
 "⌈⌊⎩⎨⎧⎢⎣⎡⌐⎜⎝⎛⎟⎠⎞⌉⌋⍼⎭⎬⎫⎥⎦⎤⎳⎲⌜⌝⏞⏜⎴⏠⌙⎰⎱⏐"
 ;
 #endif
 
 // Control Pictures
 #ifndef _LA_ICO_CONTROL_PICTURES
-#define _LA_ICO_CONTROL_PICTURES\
+#define _LA_ICO_CONTROL_PICTURES \
 "␣␢␆␈␇␘␍␐␡␥␔␑␓␒␙␃␗␄␅␛␜␌␝␉␊␕␤␀␞␏␎␠␁␂␚␦␖␟␋"
 ;
 #endif
 
 // Optical Character Recognition
 #ifndef _LA_ICO_OPTICAL_CHARACTER_RECOGNITION
-#define _LA_ICO_OPTICAL_CHARACTER_RECOGNITION\
+#define _LA_ICO_OPTICAL_CHARACTER_RECOGNITION \
 "⑇⑄⑅⑆⑁⑉⑈⑊⑂⑀⑃"
 ;
 #endif
 
 // Enclosed Alphanumerics
 #ifndef _LA_ICO_ENCLOSED_ALPHANUMERICS
-#define _LA_ICO_ENCLOSED_ALPHANUMERICS\
-"ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏⓐ⒜ⓑ⒝ⓒ⒞ⓓ⒟ⓔ⒠⑧⓼⑻⒏"\
-"ⓕ⒡⑤⓹⑸⒌④⓸⑷⒋ⓖ⒢ⓗ⒣ⓘ⒤ⓙ⒥ⓚ⒦ⓛ⒧ⓜ⒨ⓝ⒩⑨⓽⑼⒐ⓞ⒪①⓵⑴⓲⑱⒅⒙⓯"\
-"⑮⒂⒖⓮⑭⒁⒕⓳⑲⒆⒚⓫⑪⑾⒒⒈⓱⑰⒄⒘⓰⑯⒃⒗⓭⑬⒀⒔⓬⑫⑿⒓⑩⓾⑽⒑ⓟ⒫ⓠ⒬"\
-"ⓡ⒭ⓢ⒮⑦⓻⑺⒎⑥⓺⑹⒍ⓣ⒯③⓷⑶⒊②⓶⑵⒉⓴⑳⒇⒛ⓤ⒰ⓥ⒱ⓦ⒲ⓧ⒳ⓨ⒴ⓩ⒵⓿⓪"\
+#define _LA_ICO_ENCLOSED_ALPHANUMERICS \
+"ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏⓐ⒜ⓑ⒝ⓒ⒞ⓓ⒟ⓔ⒠⑧⓼⑻⒏" \
+"ⓕ⒡⑤⓹⑸⒌④⓸⑷⒋ⓖ⒢ⓗ⒣ⓘ⒤ⓙ⒥ⓚ⒦ⓛ⒧ⓜ⒨ⓝ⒩⑨⓽⑼⒐ⓞ⒪①⓵⑴⓲⑱⒅⒙⓯" \
+"⑮⒂⒖⓮⑭⒁⒕⓳⑲⒆⒚⓫⑪⑾⒒⒈⓱⑰⒄⒘⓰⑯⒃⒗⓭⑬⒀⒔⓬⑫⑿⒓⑩⓾⑽⒑ⓟ⒫ⓠ⒬" \
+"ⓡ⒭ⓢ⒮⑦⓻⑺⒎⑥⓺⑹⒍ⓣ⒯③⓷⑶⒊②⓶⑵⒉⓴⑳⒇⒛ⓤ⒰ⓥ⒱ⓦ⒲ⓧ⒳ⓨ⒴ⓩ⒵⓿⓪" \
 "Ⓜ⑴⑵"
 ;
 #endif
 
 // Geometric Shapes
 #ifndef _LA_ICO_GEOMETRIC_SHAPES
-#define _LA_ICO_GEOMETRIC_SHAPES\
-"◌◊●○◯◐◑◒◓◖◗◔◕◴◵◶◷◍◌◉◎◦◘◙◚◛◠◡◜◝◞◟◆◇◈▰▱▮▬▭"\
-"▯■□▢▣▤▥▦▧▨▩▪▫◧◨◩◪◫◰◱◲◳◻◼◽◾▲▶▼◀△▷▽◁◬◭◮►◄▻"\
+#define _LA_ICO_GEOMETRIC_SHAPES \
+"◌◊●○◯◐◑◒◓◖◗◔◕◴◵◶◷◍◌◉◎◦◘◙◚◛◠◡◜◝◞◟◆◇◈▰▱▮▬▭" \
+"▯■□▢▣▤▥▦▧▨▩▪▫◧◨◩◪◫◰◱◲◳◻◼◽◾▲▶▼◀△▷▽◁◬◭◮►◄▻" \
 "◅▴▸▾◂▵▹▿◃◥◢◣◤◹◿◺◸▪▫▶◀◻◼◽◾◌▽◁◊◻▷△▯"
 ;
 #endif
 
 // Miscellaneous Symbols
 #ifndef _LA_ICO_MISCELLANEOUS_SYMBOLS
-#define _LA_ICO_MISCELLANEOUS_SYMBOLS\
-"☬⚗⚓☥♒♈☊⛢⚛♬⛨⚑⚸♻☻☤♋♑⛫⚳⚷⛪⚰☌☧⚔⛾☋⚮⚢⚣♁♱☫⛴☽⛳♭⚜⚘"\
-"⛲⛽⚱⚙⛮⛭♊⚒☭⛼⛣⛬⚩⛸⚤⛧⛻☩⚵♃☾⛦♌♎☨⚥⚧⚦⛯⚭♂☿⛰♮♆⚲♪♫⛎☍"\
-"☦⚝⚴♽☮⛤♾⛹♓♇♩⚻♼♲♺♳♴♵♶♷♸♹⛥♐⛵☓♄⚖♏⚺⚼⚹♯⛩⛷⛶⚕⚚☪♉"\
-"⛺⛱⚯♅♀⚨⚶♍♰☸⚐⛿☹☺☯☀☁☂☃☄☇☈☉☔★☆☎☏☐☑☒☕☖☗☚☛☜☝☞☟"\
-"☠☡☢☣☰☱☲☳☴☵☶☷♨♿⚆⚇⚈⚉⚊⚋⚌⚍⚎⚏⚞⚟⚡⚪⚫⚬⚽⚾⚿⛀⛁⛂⛃⛄⛅⛆"\
-"⛇⛈⛉⛊⛋☼☘☙♔♕♖♗♘♙♚♛♜♝♞♟♠♡♢♣♤♥♦♧⚀⚁⚂⚃⚄⚅⚠⛌⛍⛏⛐⛑"\
-"⛒⛓⛔⛕⛖⛗⛘⛙⛚⛛⛜⛝⛞⛟⛠⛡☀☁☂☃☄☎☑☔☕☘☝☠☢☣☦☪☮☯☸☹☺♀♂♈"\
-"♉♊♋♌♍♎♏♐♑♒♓♟♠♣♥♦♨♻♾♿⚒⚓⚔⚕⚖⚗⚙⚛⚜⚠⚡⚧⚪⚫⚰⚱⚽⚾⛄⛅"\
+#define _LA_ICO_MISCELLANEOUS_SYMBOLS \
+"☬⚗⚓☥♒♈☊⛢⚛♬⛨⚑⚸♻☻☤♋♑⛫⚳⚷⛪⚰☌☧⚔⛾☋⚮⚢⚣♁♱☫⛴☽⛳♭⚜⚘" \
+"⛲⛽⚱⚙⛮⛭♊⚒☭⛼⛣⛬⚩⛸⚤⛧⛻☩⚵♃☾⛦♌♎☨⚥⚧⚦⛯⚭♂☿⛰♮♆⚲♪♫⛎☍" \
+"☦⚝⚴♽☮⛤♾⛹♓♇♩⚻♼♲♺♳♴♵♶♷♸♹⛥♐⛵☓♄⚖♏⚺⚼⚹♯⛩⛷⛶⚕⚚☪♉" \
+"⛺⛱⚯♅♀⚨⚶♍♰☸⚐⛿☹☺☯☀☁☂☃☄☇☈☉☔★☆☎☏☐☑☒☕☖☗☚☛☜☝☞☟" \
+"☠☡☢☣☰☱☲☳☴☵☶☷♨♿⚆⚇⚈⚉⚊⚋⚌⚍⚎⚏⚞⚟⚡⚪⚫⚬⚽⚾⚿⛀⛁⛂⛃⛄⛅⛆" \
+"⛇⛈⛉⛊⛋☼☘☙♔♕♖♗♘♙♚♛♜♝♞♟♠♡♢♣♤♥♦♧⚀⚁⚂⚃⚄⚅⚠⛌⛍⛏⛐⛑" \
+"⛒⛓⛔⛕⛖⛗⛘⛙⛚⛛⛜⛝⛞⛟⛠⛡☀☁☂☃☄☎☑☔☕☘☝☠☢☣☦☪☮☯☸☹☺♀♂♈" \
+"♉♊♋♌♍♎♏♐♑♒♓♟♠♣♥♦♨♻♾♿⚒⚓⚔⚕⚖⚗⚙⚛⚜⚠⚡⚧⚪⚫⚰⚱⚽⚾⛄⛅" \
 "⛈⛎⛏⛑⛓⛔⛩⛪⛰⛱⛲⛳⛴⛵⛷⛸⛹⛺⛽♭♮♯"
 ;
 #endif
 
 // Dingbats
 #ifndef _LA_ICO_DINGBATS
-#define _LA_ICO_DINGBATS\
-"✝❽➑➇❺➎➄❹➍➃✠❾➒➈❶➊➀❿➓➉✟❼➐➆✞❻➏➅✡❸➌➂❷➋➁❰❮❱❯❲"\
-"❳❪❫❴❬❨❩❵❭➔➘➙➚➛➜➝➞➟➠➢➣➤➥➦➧➨➩➪➫➬➭➮➯➱➲➳➶➵➴➹"\
-"➸➷➺➻➼➽➾➡❖✙✚✛✜✁✃✄✆✇✈✉✌✍✎✏✐✑✒✓✔✕✖✗✘✢✣✤✥✦✧✩"\
-"✪✫✬✭✮✯✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❍❏❐❑❒❓"\
-"❗❘❙❚❛❜❝❞❟❠❡❢❣❤❥❦❧✀✂✋✂✅✈✉✊✋✌✍✏✒✔✖✝✡✨✳✴❄❇❌"\
+#define _LA_ICO_DINGBATS \
+"✝❽➑➇❺➎➄❹➍➃✠❾➒➈❶➊➀❿➓➉✟❼➐➆✞❻➏➅✡❸➌➂❷➋➁❰❮❱❯❲" \
+"❳❪❫❴❬❨❩❵❭➔➘➙➚➛➜➝➞➟➠➢➣➤➥➦➧➨➩➪➫➬➭➮➯➱➲➳➶➵➴➹" \
+"➸➷➺➻➼➽➾➡❖✙✚✛✜✁✃✄✆✇✈✉✌✍✎✏✐✑✒✓✔✕✖✗✘✢✣✤✥✦✧✩" \
+"✪✫✬✭✮✯✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❄❅❆❇❈❉❊❋❍❏❐❑❒❓" \
+"❗❘❙❚❛❜❝❞❟❠❡❢❣❤❥❦❧✀✂✋✂✅✈✉✊✋✌✍✏✒✔✖✝✡✨✳✴❄❇❌" \
 "❎❓❔❕❗❣❤➕➖➗➡➰➿"
 ;
 #endif
 
 // Miscellaneous Mathematical Symbols-A
 #ifndef _LA_ICO_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A
-#define _LA_ICO_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A\
-"⟑⟒⟍⟗⟙⟘⟚⟛⟜⟕⟨⟪⟮⟅⟦⟬⟌⟞⟝⟓⟠⟃⟄⟇⟂⟈⟖⟩⟫⟯⟆⟧⟭⟋⟎⟏⟉⟀⟟⟔"\
+#define _LA_ICO_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A \
+"⟑⟒⟍⟗⟙⟘⟚⟛⟜⟕⟨⟪⟮⟅⟦⟬⟌⟞⟝⟓⟠⟃⟄⟇⟂⟈⟖⟩⟫⟯⟆⟧⟭⟋⟎⟏⟉⟀⟟⟔" \
 "⟊⟡⟢⟣⟐⟤⟥⟁"
 ;
 #endif
 
 // Supplemental Arrows-A
 #ifndef _LA_ICO_SUPPLEMENTAL_ARROWS_A
-#define _LA_ICO_SUPPLEMENTAL_ARROWS_A\
+#define _LA_ICO_SUPPLEMENTAL_ARROWS_A \
 "⟲⟳⟱⟵⟸⟽⟻⟷⟺⟴⟹⟾⟼⟿⟶⟰"
 ;
 #endif
 
 // Braille Patterns
 #ifndef _LA_ICO_BRAILLE_PATTERNS
-#define _LA_ICO_BRAILLE_PATTERNS\
-"⠀⠁⠃⠇⠏⠟⠿⡿⣿⢿⡟⣟⢟⠯⡯⣯⢯⡏⣏⢏⠗⠷⡷⣷⢷⡗⣗⢗⠧⡧⣧⢧⡇⣇⢇⠋⠛⠻⡻⣻"\
-"⢻⡛⣛⢛⠫⡫⣫⢫⡋⣋⢋⠓⠳⡳⣳⢳⡓⣓⢓⠣⡣⣣⢣⡃⣃⢃⠅⠍⠝⠽⡽⣽⢽⡝⣝⢝⠭⡭⣭⢭"\
-"⡍⣍⢍⠕⠵⡵⣵⢵⡕⣕⢕⠥⡥⣥⢥⡅⣅⢅⠉⠙⠹⡹⣹⢹⡙⣙⢙⠩⡩⣩⢩⡉⣉⢉⠑⠱⡱⣱⢱⡑"\
-"⣑⢑⠡⡡⣡⢡⡁⣁⢁⠂⠆⠎⠞⠾⡾⣾⢾⡞⣞⢞⠮⡮⣮⢮⡎⣎⢎⠖⠶⡶⣶⢶⡖⣖⢖⠦⡦⣦⢦⡆"\
-"⣆⢆⠊⠚⠺⡺⣺⢺⡚⣚⢚⠪⡪⣪⢪⡊⣊⢊⠒⠲⡲⣲⢲⡒⣒⢒⠢⡢⣢⢢⡂⣂⢂⠄⠌⠜⠼⡼⣼⢼"\
-"⡜⣜⢜⠬⡬⣬⢬⡌⣌⢌⠔⠴⡴⣴⢴⡔⣔⢔⠤⡤⣤⢤⡄⣄⢄⠈⠘⠸⡸⣸⢸⡘⣘⢘⠨⡨⣨⢨⡈⣈"\
+#define _LA_ICO_BRAILLE_PATTERNS \
+"⠀⠁⠃⠇⠏⠟⠿⡿⣿⢿⡟⣟⢟⠯⡯⣯⢯⡏⣏⢏⠗⠷⡷⣷⢷⡗⣗⢗⠧⡧⣧⢧⡇⣇⢇⠋⠛⠻⡻⣻" \
+"⢻⡛⣛⢛⠫⡫⣫⢫⡋⣋⢋⠓⠳⡳⣳⢳⡓⣓⢓⠣⡣⣣⢣⡃⣃⢃⠅⠍⠝⠽⡽⣽⢽⡝⣝⢝⠭⡭⣭⢭" \
+"⡍⣍⢍⠕⠵⡵⣵⢵⡕⣕⢕⠥⡥⣥⢥⡅⣅⢅⠉⠙⠹⡹⣹⢹⡙⣙⢙⠩⡩⣩⢩⡉⣉⢉⠑⠱⡱⣱⢱⡑" \
+"⣑⢑⠡⡡⣡⢡⡁⣁⢁⠂⠆⠎⠞⠾⡾⣾⢾⡞⣞⢞⠮⡮⣮⢮⡎⣎⢎⠖⠶⡶⣶⢶⡖⣖⢖⠦⡦⣦⢦⡆" \
+"⣆⢆⠊⠚⠺⡺⣺⢺⡚⣚⢚⠪⡪⣪⢪⡊⣊⢊⠒⠲⡲⣲⢲⡒⣒⢒⠢⡢⣢⢢⡂⣂⢂⠄⠌⠜⠼⡼⣼⢼" \
+"⡜⣜⢜⠬⡬⣬⢬⡌⣌⢌⠔⠴⡴⣴⢴⡔⣔⢔⠤⡤⣤⢤⡄⣄⢄⠈⠘⠸⡸⣸⢸⡘⣘⢘⠨⡨⣨⢨⡈⣈" \
 "⢈⠐⠰⡰⣰⢰⡐⣐⢐⠠⡠⣠⢠⡀⣀⢀"
 ;
 #endif
 
 // Supplemental Arrows-B
 #ifndef _LA_ICO_SUPPLEMENTAL_ARROWS_B
-#define _LA_ICO_SUPPLEMENTAL_ARROWS_B\
-"⤢⤡⤴⤵⥀⤻⥁⤓⤈⥿⥥⥯⥡⥙⥝⥕⤶⤷⤋⥱⤯⤬⥸⥃⥳⤟⤙⥷⥺⤝⥆⥐⥋⥊⥎⤆⤛⤂⤌⥼"\
-"⥧⥫⥞⥖⥢⥪⥦⥚⥒⤄⤹⤎⥈⥶⤿⤾⤢⤨⤱⤮⤤⤡⤧⤲⤣⥵⥂⥴⤠⤚⥇⤞⤑⥅⤕⤔⤇⤜⥰⤃"\
-"⤍⥽⥩⥭⥟⥗⥨⥬⥤⥛⥓⤸⤵⤴⤏⤅⤁⤖⤘⤗⤀⤐⤫⤰⥄⤩⤭⤥⤪⤦⥹⥻⥲⤺⤽⤼⤒⤉⥑⥍"\
+#define _LA_ICO_SUPPLEMENTAL_ARROWS_B \
+"⤢⤡⤴⤵⥀⤻⥁⤓⤈⥿⥥⥯⥡⥙⥝⥕⤶⤷⤋⥱⤯⤬⥸⥃⥳⤟⤙⥷⥺⤝⥆⥐⥋⥊⥎⤆⤛⤂⤌⥼" \
+"⥧⥫⥞⥖⥢⥪⥦⥚⥒⤄⤹⤎⥈⥶⤿⤾⤢⤨⤱⤮⤤⤡⤧⤲⤣⥵⥂⥴⤠⤚⥇⤞⤑⥅⤕⤔⤇⤜⥰⤃" \
+"⤍⥽⥩⥭⥟⥗⥨⥬⥤⥛⥓⤸⤵⤴⤏⤅⤁⤖⤘⤗⤀⤐⤫⤰⥄⤩⤭⤥⤪⤦⥹⥻⥲⤺⤽⤼⤒⤉⥑⥍" \
 "⥌⥏⥾⥮⥣⥠⥘⥜⥔⤊⥉⤳"
 ;
 #endif
 
 // Miscellaneous Mathematical Symbols-B
 #ifndef _LA_ICO_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B
-#define _LA_ICO_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B\
-"⧫⦁⦿⦟⦞⦤⦼⦶⧹⧸⧓⧭⧪⧗⧫⧑⧒⦿⦺⧂⧃⦵⦻⦙⧟⧺⦕⦖⧨⧩⦴⦱⦳⦲⧣⧤⧳⧱⧯⧲"\
-"⧰⧮⧦⧁⧥⧜⧡⧞⧏⦑⦓⦗⧚⧼⦏⦍⦋⦃⧘⧀⦛⦫⦪⦯⦭⦮⦬⦩⦨⦝⧿⦧⦦⦷⦹⦸⧵⧷⦣⦥"\
-"⦰⦜⧎⦒⦔⦘⧛⧽⦎⦐⦌⦄⧙⧴⧌⧢⧶⦠⦡⧠⧆⧅⧄⧈⧇⧧⧝⧔⧕⧾⧊⧍⧋⧻⦀⦢⧉⦽⧐⦚"\
+#define _LA_ICO_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B \
+"⧫⦁⦿⦟⦞⦤⦼⦶⧹⧸⧓⧭⧪⧗⧫⧑⧒⦿⦺⧂⧃⦵⦻⦙⧟⧺⦕⦖⧨⧩⦴⦱⦳⦲⧣⧤⧳⧱⧯⧲" \
+"⧰⧮⧦⧁⧥⧜⧡⧞⧏⦑⦓⦗⧚⧼⦏⦍⦋⦃⧘⧀⦛⦫⦪⦯⦭⦮⦬⦩⦨⦝⧿⦧⦦⦷⦹⦸⧵⧷⦣⦥" \
+"⦰⦜⧎⦒⦔⦘⧛⧽⦎⦐⦌⦄⧙⧴⧌⧢⧶⦠⦡⧠⧆⧅⧄⧈⧇⧧⧝⧔⧕⧾⧊⧍⧋⧻⦀⦢⧉⦽⧐⦚" \
 "⦾⧬⧖⦅⦆⦁⦂⦉⦇⦊⦈"
 ;
 #endif
 
 // Supplemental Mathematical Operators
 #ifndef _LA_ICO_SUPPLEMENTAL_MATHEMATICAL_OPERATORS
-#define _LA_ICO_SUPPLEMENTAL_MATHEMATICAL_OPERATORS\
-"⩯⨿⨑⩰⨐⩍⫏⫑⫐⫒⩌⩐⩭⨸⫮⩴⫪⪚⪙⪜⪛⫺⫹⩓⩔⪢⪡⪣⪻⫽⩎⩏⫬⪼⫫⫥⫣⫱⫙⩱"\
-"⩳⪮⩦⩷⩮⩸⪪⪬⨍⫝̸⪌⪒⪐⪎⪔⪊⪈⪥⪧⪩⪆⩾⪂⪄⪀⪤⩺⩼⩧⨕⨏⨎⨙⨗⨛⨘⨜⨚⨼⩉"\
-"⩇⩋⩀⩄⩃⨝⨞⫼⪫⪭⪋⪑⪏⪍⪓⪉⪇⪦⪨⪅⩽⪁⪃⩿⩹⩻⨔⨒⨓⩑⩞⩠⩜⩚⩟⩙⩒⩢⩣⩝"\
-"⩛⫦⨺⨩⨪⨫⨬⨊⨷⨴⨵⨻⨶⨰⨱⨀⨁⨂⨅⨆⨉⨃⨄⫿⫝⫲⫳⫡⫚⩲⨭⨮⨹⨨⨣⨥⨧⨤⨦⨢"\
-"⪷⪳⪹⪵⪯⪱⨌⨖⫭⨽⨲⫟⫧⫞⫠⫩⫨⪠⪟⩬⪞⪝⪖⪘⪕⪗⩘⩗⨳⫍⫎⫕⫓⫉⫅⫋⫇⫃⪽⫁"\
-"⪿⪸⪴⪺⪶⪰⪲⨋⫔⫖⫘⫗⫊⫆⫌⫈⫄⪾⫂⫀⩶⩪⩫⫛⫶⩨⩩⫸⫷⫻⫴⫵⩵⩕⩖⨇⨈⩈⩆⩊"\
+#define _LA_ICO_SUPPLEMENTAL_MATHEMATICAL_OPERATORS \
+"⩯⨿⨑⩰⨐⩍⫏⫑⫐⫒⩌⩐⩭⨸⫮⩴⫪⪚⪙⪜⪛⫺⫹⩓⩔⪢⪡⪣⪻⫽⩎⩏⫬⪼⫫⫥⫣⫱⫙⩱" \
+"⩳⪮⩦⩷⩮⩸⪪⪬⨍⫝̸⪌⪒⪐⪎⪔⪊⪈⪥⪧⪩⪆⩾⪂⪄⪀⪤⩺⩼⩧⨕⨏⨎⨙⨗⨛⨘⨜⨚⨼⩉" \
+"⩇⩋⩀⩄⩃⨝⨞⫼⪫⪭⪋⪑⪏⪍⪓⪉⪇⪦⪨⪅⩽⪁⪃⩿⩹⩻⨔⨒⨓⩑⩞⩠⩜⩚⩟⩙⩒⩢⩣⩝" \
+"⩛⫦⨺⨩⨪⨫⨬⨊⨷⨴⨵⨻⨶⨰⨱⨀⨁⨂⨅⨆⨉⨃⨄⫿⫝⫲⫳⫡⫚⩲⨭⨮⨹⨨⨣⨥⨧⨤⨦⨢" \
+"⪷⪳⪹⪵⪯⪱⨌⨖⫭⨽⨲⫟⫧⫞⫠⫩⫨⪠⪟⩬⪞⪝⪖⪘⪕⪗⩘⩗⨳⫍⫎⫕⫓⫉⫅⫋⫇⫃⪽⫁" \
+"⪿⪸⪴⪺⪶⪰⪲⨋⫔⫖⫘⫗⫊⫆⫌⫈⫄⪾⫂⫀⩶⩪⩫⫛⫶⩨⩩⫸⫷⫻⫴⫵⩵⩕⩖⨇⨈⩈⩆⩊" \
 "⩅⩁⩂⨯⩡⫤⫢⫯⫰⫾⩤⩥⨾⨟⨠⨡"
 ;
 #endif
 
 // Miscellaneous Symbols and Arrows
 #ifndef _LA_ICO_MISCELLANEOUS_SYMBOLS_AND_ARROWS
-#define _LA_ICO_MISCELLANEOUS_SYMBOLS_AND_ARROWS\
-"⬀⬂⬃⬁⬄⬆⬈⮕⬊⬇⬋⬅⬉⬌⬍⬖⬗⬘⬙⬚⮍⮎⭯⮌⮏⭛⭝⮽⭞⮨⮩⮮⮬⮯⮭⮪⮫⯁⮟⬢"\
-"⬬⬤⬛⮜⬥⯆⯇⬧⯈⯅⯄⬟⮞⭓⬩⬪⭑⯀⮝⬮⬝⯋⮿⮾⭮⮃⭣⭽⭳⮠⮡⭭⭍⮇⮔⭘⭗⭙⭕⭖"\
-"⬣⯃⭤⭠⭺⭰⮦⮤⭪⮀⮄⯌⬒⬔⮒⮓⭧⭷⭦⭶⮐⮑⮰⮱⮶⮴⮷⮵⮲⮳⭢⭼⭲⮧⮥⭬⮂⮆⯍⯏"\
-"⭏⭟⭎⭚⭜⭨⭸⭩⭹⯐⭾⭿⮛⮙⮘⮚⯊⬓⬕⯂⯑⮹⭥⭡⭻⭱⮢⮣⭫⮸⮁⮅⯎⬡⬭⬜⬦⬨⭐⬠"\
-"⭔⬫⭒⬯⬞⮋⮈⮊⮉⮗⮺⮻⮼⯉⯒⯓⯔⯕⯖⯗⯘⯙⯚⯛⯜⯝⯞⯟⯠⯡⯢⯣⯤⯥⯦⯧⯨⯩⯪⯫"\
-"⯬⯭⯮⯯⯰⯱⯲⯳⯴⯵⯶⯷⯸⯹⯺⯻⯼⯽⯿⬅⬆⬇⬛⬜⭐⭕⬿⭀⭊⭂⭋⬾⬐⬑⬲⬸⬺⬹⭅⬶"\
+#define _LA_ICO_MISCELLANEOUS_SYMBOLS_AND_ARROWS \
+"⬀⬂⬃⬁⬄⬆⬈⮕⬊⬇⬋⬅⬉⬌⬍⬖⬗⬘⬙⬚⮍⮎⭯⮌⮏⭛⭝⮽⭞⮨⮩⮮⮬⮯⮭⮪⮫⯁⮟⬢" \
+"⬬⬤⬛⮜⬥⯆⯇⬧⯈⯅⯄⬟⮞⭓⬩⬪⭑⯀⮝⬮⬝⯋⮿⮾⭮⮃⭣⭽⭳⮠⮡⭭⭍⮇⮔⭘⭗⭙⭕⭖" \
+"⬣⯃⭤⭠⭺⭰⮦⮤⭪⮀⮄⯌⬒⬔⮒⮓⭧⭷⭦⭶⮐⮑⮰⮱⮶⮴⮷⮵⮲⮳⭢⭼⭲⮧⮥⭬⮂⮆⯍⯏" \
+"⭏⭟⭎⭚⭜⭨⭸⭩⭹⯐⭾⭿⮛⮙⮘⮚⯊⬓⬕⯂⯑⮹⭥⭡⭻⭱⮢⮣⭫⮸⮁⮅⯎⬡⬭⬜⬦⬨⭐⬠" \
+"⭔⬫⭒⬯⬞⮋⮈⮊⮉⮗⮺⮻⮼⯉⯒⯓⯔⯕⯖⯗⯘⯙⯚⯛⯜⯝⯞⯟⯠⯡⯢⯣⯤⯥⯦⯧⯨⯩⯪⯫" \
+"⯬⯭⯮⯯⯰⯱⯲⯳⯴⯵⯶⯷⯸⯹⯺⯻⯼⯽⯿⬅⬆⬇⬛⬜⭐⭕⬿⭀⭊⭂⭋⬾⬐⬑⬲⬸⬺⬹⭅⬶" \
 "⬵⬻⬽⬼⬴⬷⬰⬳⯾⭁⭇⭈⭌⭃⭄⭆⬎⬏⬱⭉"
 ;
 #endif
 
 // CJK Symbols and Punctuation
 #ifndef _LA_ICO_CJK_SYMBOLS_AND_PUNCTUATION
-#define _LA_ICO_CJK_SYMBOLS_AND_PUNCTUATION\
+#define _LA_ICO_CJK_SYMBOLS_AND_PUNCTUATION \
 "〰〽"
 ;
 #endif
 
 // Enclosed CJK Letters and Months
 #ifndef _LA_ICO_ENCLOSED_CJK_LETTERS_AND_MONTHS
-#define _LA_ICO_ENCLOSED_CJK_LETTERS_AND_MONTHS\
+#define _LA_ICO_ENCLOSED_CJK_LETTERS_AND_MONTHS \
 "㊗㊙"
 ;
 #endif
 
 // Yijing Hexagram Symbols
 #ifndef _LA_ICO_YIJING_HEXAGRAM_SYMBOLS
-#define _LA_ICO_YIJING_HEXAGRAM_SYMBOLS\
-"䷀䷁䷂䷃䷄䷅䷆䷇䷈䷉䷊䷋䷌䷍䷎䷏䷐䷑䷒䷓䷔䷕䷖䷗䷘䷙䷚䷛䷜䷝䷞䷟䷠䷡䷢䷣䷤䷥䷦䷧"\
+#define _LA_ICO_YIJING_HEXAGRAM_SYMBOLS \
+"䷀䷁䷂䷃䷄䷅䷆䷇䷈䷉䷊䷋䷌䷍䷎䷏䷐䷑䷒䷓䷔䷕䷖䷗䷘䷙䷚䷛䷜䷝䷞䷟䷠䷡䷢䷣䷤䷥䷦䷧" \
 "䷨䷩䷪䷫䷬䷭䷮䷯䷰䷱䷲䷳䷴䷵䷶䷷䷸䷹䷺䷻䷼䷽䷾䷿"
 ;
 #endif
 
 // Variation Selectors
 #ifndef _LA_ICO_VARIATION_SELECTORS
-#define _LA_ICO_VARIATION_SELECTORS\
+#define _LA_ICO_VARIATION_SELECTORS \
 "︎️"
 ;
 #endif
 
 // Halfwidth and Fullwidth Forms
 #ifndef _LA_ICO_HALFWIDTH_AND_FULLWIDTH_FORMS
-#define _LA_ICO_HALFWIDTH_AND_FULLWIDTH_FORMS\
+#define _LA_ICO_HALFWIDTH_AND_FULLWIDTH_FORMS \
 "{}"
 ;
 #endif
 
 // Specials
 #ifndef _LA_ICO_SPECIALS
-#define _LA_ICO_SPECIALS\
+#define _LA_ICO_SPECIALS \
 ""
 ;
 #endif
 
 // Ancient Greek Numbers
 #ifndef _LA_ICO_ANCIENT_GREEK_NUMBERS
-#define _LA_ICO_ANCIENT_GREEK_NUMBERS\
-"𐅵𐅶𐅷𐅸𐆊𐆋𐅀𐅁𐅂𐅃𐅄𐅅𐅆𐅇𐅈𐅉𐅊𐅋𐅌𐅍𐅎𐅏𐅐𐅑𐅒𐅓𐅔𐅕𐅖𐅗𐅘𐅙𐅚𐅛𐅜𐅝𐅞𐅟𐅠𐅡"\
+#define _LA_ICO_ANCIENT_GREEK_NUMBERS \
+"𐅵𐅶𐅷𐅸𐆊𐆋𐅀𐅁𐅂𐅃𐅄𐅅𐅆𐅇𐅈𐅉𐅊𐅋𐅌𐅍𐅎𐅏𐅐𐅑𐅒𐅓𐅔𐅕𐅖𐅗𐅘𐅙𐅚𐅛𐅜𐅝𐅞𐅟𐅠𐅡" \
 "𐅢𐅣𐅤𐅥𐅦𐅧𐅨𐅩𐅪𐅫𐅬𐅭𐅮𐅯𐅰𐅱𐅲𐅳𐅴𐅹𐅺𐅻𐅼𐅽𐅾𐅿𐆀𐆁𐆂𐆃𐆄𐆅𐆆𐆇𐆈𐆉𐆌𐆍𐆎"
 ;
 #endif
 
 // Ancient Symbols
 #ifndef _LA_ICO_ANCIENT_SYMBOLS
-#define _LA_ICO_ANCIENT_SYMBOLS\
+#define _LA_ICO_ANCIENT_SYMBOLS \
 "𐆠𐆐𐆑𐆒𐆓𐆔𐆕𐆖𐆗𐆘𐆙𐆚𐆛𐆜"
 ;
 #endif
 
 // Phaistos Disc
 #ifndef _LA_ICO_PHAISTOS_DISC
-#define _LA_ICO_PHAISTOS_DISC\
-"𐇐𐇑𐇒𐇓𐇔𐇕𐇖𐇗𐇘𐇙𐇚𐇛𐇜𐇝𐇞𐇟𐇠𐇡𐇢𐇣𐇤𐇥𐇦𐇧𐇨𐇩𐇪𐇫𐇬𐇭𐇮𐇯𐇰𐇱𐇲𐇳𐇴𐇵𐇶𐇷"\
+#define _LA_ICO_PHAISTOS_DISC \
+"𐇐𐇑𐇒𐇓𐇔𐇕𐇖𐇗𐇘𐇙𐇚𐇛𐇜𐇝𐇞𐇟𐇠𐇡𐇢𐇣𐇤𐇥𐇦𐇧𐇨𐇩𐇪𐇫𐇬𐇭𐇮𐇯𐇰𐇱𐇲𐇳𐇴𐇵𐇶𐇷" \
 "𐇸𐇹𐇺𐇻𐇼𐇽"
 ;
 #endif
 
 // Coptic Epact Numbers
 #ifndef _LA_ICO_COPTIC_EPACT_NUMBERS
-#define _LA_ICO_COPTIC_EPACT_NUMBERS\
+#define _LA_ICO_COPTIC_EPACT_NUMBERS \
 "𐋡𐋢𐋣𐋤𐋥𐋦𐋧𐋨𐋩𐋪𐋫𐋬𐋭𐋮𐋯𐋰𐋱𐋲𐋳𐋴𐋵𐋶𐋷𐋸𐋹𐋺𐋻𐋠"
 ;
 #endif
 
 // Rumi Numeral Symbols
 #ifndef _LA_ICO_RUMI_NUMERAL_SYMBOLS
-#define _LA_ICO_RUMI_NUMERAL_SYMBOLS\
+#define _LA_ICO_RUMI_NUMERAL_SYMBOLS \
 "𐹠𐹡𐹢𐹣𐹤𐹥𐹦𐹧𐹨𐹩𐹪𐹫𐹬𐹭𐹮𐹯𐹰𐹱𐹲𐹳𐹴𐹵𐹶𐹷𐹸𐹹𐹺𐹻𐹼𐹽𐹾"
 ;
 #endif
 
 // Mayan Numerals
 #ifndef _LA_ICO_MAYAN_NUMERALS
-#define _LA_ICO_MAYAN_NUMERALS\
+#define _LA_ICO_MAYAN_NUMERALS \
 "𝋠𝋡𝋢𝋣𝋤𝋥𝋦𝋧𝋨𝋩𝋪𝋫𝋬𝋭𝋮𝋯𝋰𝋱𝋲𝋳"
 ;
 #endif
 
 // Tai Xuan Jing Symbols
 #ifndef _LA_ICO_TAI_XUAN_JING_SYMBOLS
-#define _LA_ICO_TAI_XUAN_JING_SYMBOLS\
-"𝌀𝌁𝌂𝌃𝌄𝌅𝌆𝌇𝌈𝌉𝌊𝌋𝌌𝌍𝌎𝌏𝌐𝌑𝌒𝌓𝌔𝌕𝌖𝌗𝌘𝌙𝌚𝌛𝌜𝌝𝌞𝌟𝌠𝌡𝌢𝌣𝌤𝌥𝌦𝌧"\
-"𝌨𝌩𝌪𝌫𝌬𝌭𝌮𝌯𝌰𝌱𝌲𝌳𝌴𝌵𝌶𝌷𝌸𝌹𝌺𝌻𝌼𝌽𝌾𝌿𝍀𝍁𝍂𝍃𝍄𝍅𝍆𝍇𝍈𝍉𝍊𝍋𝍌𝍍𝍎𝍏"\
+#define _LA_ICO_TAI_XUAN_JING_SYMBOLS \
+"𝌀𝌁𝌂𝌃𝌄𝌅𝌆𝌇𝌈𝌉𝌊𝌋𝌌𝌍𝌎𝌏𝌐𝌑𝌒𝌓𝌔𝌕𝌖𝌗𝌘𝌙𝌚𝌛𝌜𝌝𝌞𝌟𝌠𝌡𝌢𝌣𝌤𝌥𝌦𝌧" \
+"𝌨𝌩𝌪𝌫𝌬𝌭𝌮𝌯𝌰𝌱𝌲𝌳𝌴𝌵𝌶𝌷𝌸𝌹𝌺𝌻𝌼𝌽𝌾𝌿𝍀𝍁𝍂𝍃𝍄𝍅𝍆𝍇𝍈𝍉𝍊𝍋𝍌𝍍𝍎𝍏" \
 "𝍐𝍑𝍒𝍓𝍔𝍕𝍖"
 ;
 #endif
 
 // Counting Rod Numerals
 #ifndef _LA_ICO_COUNTING_ROD_NUMERALS
-#define _LA_ICO_COUNTING_ROD_NUMERALS\
+#define _LA_ICO_COUNTING_ROD_NUMERALS \
 "𝍠𝍡𝍢𝍣𝍤𝍥𝍦𝍧𝍨𝍩𝍪𝍫𝍬𝍭𝍮𝍯𝍰𝍱𝍲𝍳𝍴𝍵𝍶𝍷𝍸"
 ;
 #endif
 
 // Mathematical Alphanumeric Symbols
 #ifndef _LA_ICO_MATHEMATICAL_ALPHANUMERIC_SYMBOLS
-#define _LA_ICO_MATHEMATICAL_ALPHANUMERIC_SYMBOLS\
-"𝔄𝐀𝑨𝓐𝔸𝐴𝒜𝔅𝕭𝐁𝑩𝓑𝔹𝐵𝐂𝑪𝓒𝐶𝒞𝔇𝐃𝑫𝓓𝔻𝐷𝒟𝔈𝐄𝑬𝓔𝔼𝐸𝔉𝐅𝑭𝓕𝔽𝐹𝔊𝐆"\
-"𝑮𝓖𝔾𝐺𝒢𝐇𝑯𝓗𝐻𝐈𝑰𝓘𝕀𝐼𝔍𝐉𝑱𝓙𝕁𝐽𝒥𝔎𝐊𝑲𝓚𝕂𝐾𝒦𝔏𝐋𝑳𝓛𝕃𝐿𝔐𝐌𝑴𝓜𝕄𝑀"\
-"𝔑𝕹𝐍𝑵𝓝𝑁𝒩𝔒𝐎𝑶𝓞𝕆𝑂𝒪𝔓𝐏𝑷𝓟𝑃𝒫𝔔𝐐𝑸𝓠𝑄𝒬𝕽𝐑𝑹𝓡𝑅𝔖𝐒𝑺𝓢𝕊𝑆𝒮𝔗𝐓"\
-"𝑻𝓣𝕋𝑇𝒯𝔘𝐔𝑼𝓤𝕌𝑈𝒰𝔙𝐕𝑽𝓥𝕍𝑉𝒱𝔚𝐖𝑾𝓦𝕎𝑊𝒲𝔛𝐗𝑿𝓧𝕏𝑋𝒳𝔜𝐘𝒀𝓨𝕐𝑌𝒴"\
-"𝖅𝐙𝒁𝓩𝑍𝒵𝔞𝐚𝒂𝓪𝕒𝑎𝒶𝔟𝐛𝒃𝓫𝕓𝑏𝒷𝔠𝐜𝒄𝓬𝕔𝑐𝒸𝔡𝐝𝒅𝓭𝕕𝑑𝒹𝔢𝐞𝒆𝓮𝕖𝑒"\
-"𝔣𝐟𝒇𝓯𝕗𝑓𝒻𝔤𝐠𝒈𝓰𝕘𝑔𝔥𝐡𝒉𝓱𝕙𝒽𝔦𝐢𝒊𝓲𝕚𝑖𝒾𝔧𝐣𝒋𝓳𝕛𝑗𝒿𝔨𝐤𝒌𝓴𝕜𝑘𝓀"\
-"𝔩𝐥𝒍𝓵𝕝𝑙𝓁𝔪𝐦𝒎𝓶𝕞𝑚𝓂𝔫𝐧𝒏𝓷𝕟𝑛𝓃𝔬𝐨𝒐𝓸𝕠𝑜𝔭𝐩𝒑𝓹𝕡𝑝𝓅𝔮𝐪𝒒𝓺𝕢𝑞"\
-"𝓆𝔯𝐫𝒓𝓻𝕣𝑟𝓇𝔰𝐬𝒔𝓼𝕤𝑠𝓈𝔱𝐭𝒕𝓽𝕥𝑡𝓉𝔲𝕬𝕮𝕯𝕰𝕱𝕲𝕳𝕴𝕵𝕶𝕷𝕸𝕺𝕻𝕼𝕾𝕿"\
-"𝖀𝖁𝖂𝖃𝖄𝖆𝖇𝖈𝖉𝖊𝖋𝖌𝖍𝖎𝖏𝖐𝖑𝖒𝖓𝖔𝖕𝖖𝖗𝖘𝖙𝖚𝖛𝖜𝖝𝖞𝖟𝖠𝖡𝖢𝖣𝖤𝖥𝖦𝖧𝖨"\
-"𝖩𝖪𝖫𝖬𝖭𝖮𝖯𝖰𝖱𝖲𝖳𝖴𝖵𝖶𝖷𝖸𝖹𝖺𝖻𝖼𝖽𝖾𝖿𝗀𝗁𝗂𝗃𝗄𝗅𝗆𝗇𝗈𝗉𝗊𝗋𝗌𝗍𝗎𝗏𝗐"\
-"𝗑𝗒𝗓𝗔𝗕𝗖𝗗𝗘𝗙𝗚𝗛𝗜𝗝𝗞𝗟𝗠𝗡𝗢𝗣𝗤𝗥𝗦𝗧𝗨𝗩𝗪𝗫𝗬𝗭𝗮𝗯𝗰𝗱𝗲𝗳𝗴𝗵𝗶𝗷𝗸"\
-"𝗹𝗺𝗻𝗼𝗽𝗾𝗿𝘀𝘁𝘂𝘃𝘄𝘅𝘆𝘇𝘈𝘉𝘊𝘋𝘌𝘍𝘎𝘏𝘐𝘑𝘒𝘓𝘔𝘕𝘖𝘗𝘘𝘙𝘚𝘛𝘜𝘝𝘞𝘟𝘠"\
-"𝘡𝘢𝘣𝘤𝘥𝘦𝘧𝘨𝘩𝘪𝘫𝘬𝘭𝘮𝘯𝘰𝘱𝘲𝘳𝘴𝘵𝘶𝘷𝘸𝘹𝘺𝘻𝘼𝘽𝘾𝘿𝙀𝙁𝙂𝙃𝙄𝙅𝙆𝙇𝙈"\
-"𝙉𝙊𝙋𝙌𝙍𝙎𝙏𝙐𝙑𝙒𝙓𝙔𝙕𝙖𝙗𝙘𝙙𝙚𝙛𝙜𝙝𝙞𝙟𝙠𝙡𝙢𝙣𝙤𝙥𝙦𝙧𝙨𝙩𝙪𝙫𝙬𝙭𝙮𝙯𝙰"\
-"𝙱𝙲𝙳𝙴𝙵𝙶𝙷𝙸𝙹𝙺𝙻𝙼𝙽𝙾𝙿𝚀𝚁𝚂𝚃𝚄𝚅𝚆𝚇𝚈𝚉𝚊𝚋𝚌𝚍𝚎𝚏𝚐𝚑𝚒𝚓𝚔𝚕𝚖𝚗𝚘"\
-"𝚙𝚚𝚛𝚜𝚝𝚞𝚟𝚠𝚡𝚢𝚣𝚤𝚥𝚨𝚩𝚪𝚫𝚬𝚭𝚮𝚯𝚰𝚱𝚲𝚳𝚴𝚵𝚶𝚷𝚸𝚹𝚺𝚻𝚼𝚽𝚾𝚿𝛀𝛁𝛂"\
-"𝛃𝛄𝛅𝛆𝛇𝛈𝛉𝛊𝛋𝛌𝛍𝛎𝛏𝛐𝛑𝛒𝛓𝛔𝛕𝛖𝛗𝛘𝛙𝛚𝛛𝛜𝛝𝛞𝛟𝛠𝛡𝛢𝛣𝛤𝛥𝛦𝛧𝛨𝛩𝛪"\
-"𝛫𝛬𝛭𝛮𝛯𝛰𝛱𝛲𝛳𝛴𝛵𝛶𝛷𝛸𝛹𝛺𝛻𝛼𝛽𝛾𝛿𝜀𝜁𝜂𝜃𝜄𝜅𝜆𝜇𝜈𝜉𝜊𝜋𝜌𝜍𝜎𝜏𝜐𝜑𝜒"\
-"𝜓𝜔𝜕𝜖𝜗𝜘𝜙𝜚𝜛𝜜𝜝𝜞𝜟𝜠𝜡𝜢𝜣𝜤𝜥𝜦𝜧𝜨𝜩𝜪𝜫𝜬𝜭𝜮𝜯𝜰𝜱𝜲𝜳𝜴𝜵𝜶𝜷𝜸𝜹𝜺"\
-"𝜻𝜼𝜽𝜾𝜿𝝀𝝁𝝂𝝃𝝄𝝅𝝆𝝇𝝈𝝉𝝊𝝋𝝌𝝍𝝎𝝏𝝐𝝑𝝒𝝓𝝔𝝕𝝖𝝗𝝘𝝙𝝚𝝛𝝜𝝝𝝞𝝟𝝠𝝡𝝢"\
-"𝝣𝝤𝝥𝝦𝝧𝝨𝝩𝝪𝝫𝝬𝝭𝝮𝝯𝝰𝝱𝝲𝝳𝝴𝝵𝝶𝝷𝝸𝝹𝝺𝝻𝝼𝝽𝝾𝝿𝞀𝞁𝞂𝞃𝞄𝞅𝞆𝞇𝞈𝞉𝞊"\
-"𝞋𝞌𝞍𝞎𝞏𝞐𝞑𝞒𝞓𝞔𝞕𝞖𝞗𝞘𝞙𝞚𝞛𝞜𝞝𝞞𝞟𝞠𝞡𝞢𝞣𝞤𝞥𝞦𝞧𝞨𝞩𝞪𝞫𝞬𝞭𝞮𝞯𝞰𝞱𝞲"\
-"𝞳𝞴𝞵𝞶𝞷𝞸𝞹𝞺𝞻𝞼𝞽𝞾𝞿𝟀𝟁𝟂𝟃𝟄𝟅𝟆𝟇𝟈𝟉𝟊𝟋𝟎𝟏𝟐𝟑𝟒𝟓𝟔𝟕𝟖𝟗𝟘𝟙𝟚𝟛𝟜"\
-"𝟝𝟞𝟟𝟠𝟡𝟢𝟣𝟤𝟥𝟦𝟧𝟨𝟩𝟪𝟫𝟬𝟭𝟮𝟯𝟰𝟱𝟲𝟳𝟴𝟵𝟶𝟷𝟸𝟹𝟺𝟻𝟼𝟽𝟾𝟿𝐮𝒖𝓾𝕦𝑢"\
+#define _LA_ICO_MATHEMATICAL_ALPHANUMERIC_SYMBOLS \
+"𝔄𝐀𝑨𝓐𝔸𝐴𝒜𝔅𝕭𝐁𝑩𝓑𝔹𝐵𝐂𝑪𝓒𝐶𝒞𝔇𝐃𝑫𝓓𝔻𝐷𝒟𝔈𝐄𝑬𝓔𝔼𝐸𝔉𝐅𝑭𝓕𝔽𝐹𝔊𝐆" \
+"𝑮𝓖𝔾𝐺𝒢𝐇𝑯𝓗𝐻𝐈𝑰𝓘𝕀𝐼𝔍𝐉𝑱𝓙𝕁𝐽𝒥𝔎𝐊𝑲𝓚𝕂𝐾𝒦𝔏𝐋𝑳𝓛𝕃𝐿𝔐𝐌𝑴𝓜𝕄𝑀" \
+"𝔑𝕹𝐍𝑵𝓝𝑁𝒩𝔒𝐎𝑶𝓞𝕆𝑂𝒪𝔓𝐏𝑷𝓟𝑃𝒫𝔔𝐐𝑸𝓠𝑄𝒬𝕽𝐑𝑹𝓡𝑅𝔖𝐒𝑺𝓢𝕊𝑆𝒮𝔗𝐓" \
+"𝑻𝓣𝕋𝑇𝒯𝔘𝐔𝑼𝓤𝕌𝑈𝒰𝔙𝐕𝑽𝓥𝕍𝑉𝒱𝔚𝐖𝑾𝓦𝕎𝑊𝒲𝔛𝐗𝑿𝓧𝕏𝑋𝒳𝔜𝐘𝒀𝓨𝕐𝑌𝒴" \
+"𝖅𝐙𝒁𝓩𝑍𝒵𝔞𝐚𝒂𝓪𝕒𝑎𝒶𝔟𝐛𝒃𝓫𝕓𝑏𝒷𝔠𝐜𝒄𝓬𝕔𝑐𝒸𝔡𝐝𝒅𝓭𝕕𝑑𝒹𝔢𝐞𝒆𝓮𝕖𝑒" \
+"𝔣𝐟𝒇𝓯𝕗𝑓𝒻𝔤𝐠𝒈𝓰𝕘𝑔𝔥𝐡𝒉𝓱𝕙𝒽𝔦𝐢𝒊𝓲𝕚𝑖𝒾𝔧𝐣𝒋𝓳𝕛𝑗𝒿𝔨𝐤𝒌𝓴𝕜𝑘𝓀" \
+"𝔩𝐥𝒍𝓵𝕝𝑙𝓁𝔪𝐦𝒎𝓶𝕞𝑚𝓂𝔫𝐧𝒏𝓷𝕟𝑛𝓃𝔬𝐨𝒐𝓸𝕠𝑜𝔭𝐩𝒑𝓹𝕡𝑝𝓅𝔮𝐪𝒒𝓺𝕢𝑞" \
+"𝓆𝔯𝐫𝒓𝓻𝕣𝑟𝓇𝔰𝐬𝒔𝓼𝕤𝑠𝓈𝔱𝐭𝒕𝓽𝕥𝑡𝓉𝔲𝕬𝕮𝕯𝕰𝕱𝕲𝕳𝕴𝕵𝕶𝕷𝕸𝕺𝕻𝕼𝕾𝕿" \
+"𝖀𝖁𝖂𝖃𝖄𝖆𝖇𝖈𝖉𝖊𝖋𝖌𝖍𝖎𝖏𝖐𝖑𝖒𝖓𝖔𝖕𝖖𝖗𝖘𝖙𝖚𝖛𝖜𝖝𝖞𝖟𝖠𝖡𝖢𝖣𝖤𝖥𝖦𝖧𝖨" \
+"𝖩𝖪𝖫𝖬𝖭𝖮𝖯𝖰𝖱𝖲𝖳𝖴𝖵𝖶𝖷𝖸𝖹𝖺𝖻𝖼𝖽𝖾𝖿𝗀𝗁𝗂𝗃𝗄𝗅𝗆𝗇𝗈𝗉𝗊𝗋𝗌𝗍𝗎𝗏𝗐" \
+"𝗑𝗒𝗓𝗔𝗕𝗖𝗗𝗘𝗙𝗚𝗛𝗜𝗝𝗞𝗟𝗠𝗡𝗢𝗣𝗤𝗥𝗦𝗧𝗨𝗩𝗪𝗫𝗬𝗭𝗮𝗯𝗰𝗱𝗲𝗳𝗴𝗵𝗶𝗷𝗸" \
+"𝗹𝗺𝗻𝗼𝗽𝗾𝗿𝘀𝘁𝘂𝘃𝘄𝘅𝘆𝘇𝘈𝘉𝘊𝘋𝘌𝘍𝘎𝘏𝘐𝘑𝘒𝘓𝘔𝘕𝘖𝘗𝘘𝘙𝘚𝘛𝘜𝘝𝘞𝘟𝘠" \
+"𝘡𝘢𝘣𝘤𝘥𝘦𝘧𝘨𝘩𝘪𝘫𝘬𝘭𝘮𝘯𝘰𝘱𝘲𝘳𝘴𝘵𝘶𝘷𝘸𝘹𝘺𝘻𝘼𝘽𝘾𝘿𝙀𝙁𝙂𝙃𝙄𝙅𝙆𝙇𝙈" \
+"𝙉𝙊𝙋𝙌𝙍𝙎𝙏𝙐𝙑𝙒𝙓𝙔𝙕𝙖𝙗𝙘𝙙𝙚𝙛𝙜𝙝𝙞𝙟𝙠𝙡𝙢𝙣𝙤𝙥𝙦𝙧𝙨𝙩𝙪𝙫𝙬𝙭𝙮𝙯𝙰" \
+"𝙱𝙲𝙳𝙴𝙵𝙶𝙷𝙸𝙹𝙺𝙻𝙼𝙽𝙾𝙿𝚀𝚁𝚂𝚃𝚄𝚅𝚆𝚇𝚈𝚉𝚊𝚋𝚌𝚍𝚎𝚏𝚐𝚑𝚒𝚓𝚔𝚕𝚖𝚗𝚘" \
+"𝚙𝚚𝚛𝚜𝚝𝚞𝚟𝚠𝚡𝚢𝚣𝚤𝚥𝚨𝚩𝚪𝚫𝚬𝚭𝚮𝚯𝚰𝚱𝚲𝚳𝚴𝚵𝚶𝚷𝚸𝚹𝚺𝚻𝚼𝚽𝚾𝚿𝛀𝛁𝛂" \
+"𝛃𝛄𝛅𝛆𝛇𝛈𝛉𝛊𝛋𝛌𝛍𝛎𝛏𝛐𝛑𝛒𝛓𝛔𝛕𝛖𝛗𝛘𝛙𝛚𝛛𝛜𝛝𝛞𝛟𝛠𝛡𝛢𝛣𝛤𝛥𝛦𝛧𝛨𝛩𝛪" \
+"𝛫𝛬𝛭𝛮𝛯𝛰𝛱𝛲𝛳𝛴𝛵𝛶𝛷𝛸𝛹𝛺𝛻𝛼𝛽𝛾𝛿𝜀𝜁𝜂𝜃𝜄𝜅𝜆𝜇𝜈𝜉𝜊𝜋𝜌𝜍𝜎𝜏𝜐𝜑𝜒" \
+"𝜓𝜔𝜕𝜖𝜗𝜘𝜙𝜚𝜛𝜜𝜝𝜞𝜟𝜠𝜡𝜢𝜣𝜤𝜥𝜦𝜧𝜨𝜩𝜪𝜫𝜬𝜭𝜮𝜯𝜰𝜱𝜲𝜳𝜴𝜵𝜶𝜷𝜸𝜹𝜺" \
+"𝜻𝜼𝜽𝜾𝜿𝝀𝝁𝝂𝝃𝝄𝝅𝝆𝝇𝝈𝝉𝝊𝝋𝝌𝝍𝝎𝝏𝝐𝝑𝝒𝝓𝝔𝝕𝝖𝝗𝝘𝝙𝝚𝝛𝝜𝝝𝝞𝝟𝝠𝝡𝝢" \
+"𝝣𝝤𝝥𝝦𝝧𝝨𝝩𝝪𝝫𝝬𝝭𝝮𝝯𝝰𝝱𝝲𝝳𝝴𝝵𝝶𝝷𝝸𝝹𝝺𝝻𝝼𝝽𝝾𝝿𝞀𝞁𝞂𝞃𝞄𝞅𝞆𝞇𝞈𝞉𝞊" \
+"𝞋𝞌𝞍𝞎𝞏𝞐𝞑𝞒𝞓𝞔𝞕𝞖𝞗𝞘𝞙𝞚𝞛𝞜𝞝𝞞𝞟𝞠𝞡𝞢𝞣𝞤𝞥𝞦𝞧𝞨𝞩𝞪𝞫𝞬𝞭𝞮𝞯𝞰𝞱𝞲" \
+"𝞳𝞴𝞵𝞶𝞷𝞸𝞹𝞺𝞻𝞼𝞽𝞾𝞿𝟀𝟁𝟂𝟃𝟄𝟅𝟆𝟇𝟈𝟉𝟊𝟋𝟎𝟏𝟐𝟑𝟒𝟓𝟔𝟕𝟖𝟗𝟘𝟙𝟚𝟛𝟜" \
+"𝟝𝟞𝟟𝟠𝟡𝟢𝟣𝟤𝟥𝟦𝟧𝟨𝟩𝟪𝟫𝟬𝟭𝟮𝟯𝟰𝟱𝟲𝟳𝟴𝟵𝟶𝟷𝟸𝟹𝟺𝟻𝟼𝟽𝟾𝟿𝐮𝒖𝓾𝕦𝑢" \
 "𝓊𝔳𝐯𝒗𝓿𝕧𝑣𝓋𝔴𝐰𝒘𝔀𝕨𝑤𝓌𝔵𝐱𝒙𝔁𝕩𝑥𝓍𝔶𝐲𝒚𝔂𝕪𝑦𝓎𝔷𝐳𝒛𝔃𝕫𝑧𝓏"
 ;
 #endif
 
 // Arabic Mathematical Alphabetic Symbols
 #ifndef _LA_ICO_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS
-#define _LA_ICO_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS\
-"𞻱𞻰𞸏𞸀𞸁𞸜𞸙𞸃𞺯𞺡𞺹𞺣𞺰𞺻𞺧𞺢𞺷𞺫𞺬𞺭𞺲𞺳𞺱𞺮𞺴𞺨𞺵𞺸𞺶𞺥𞺩𞺺𞺦𞸐𞸞𞸛𞸇𞸯𞸡𞸹"\
-"𞸰𞸻𞸧𞸤𞸢𞸪𞸷𞸫𞸬𞸭𞸲𞸱𞸮𞸴𞸵𞸶𞸩𞸂𞸊𞸗𞸋𞺏𞺀𞺁𞺙𞺃𞺐𞺛𞺇𞺄𞺂𞺗𞺋𞺌𞺍𞺒𞺓𞺑𞺎𞺔"\
-"𞺈𞺕𞺘𞺖𞺅𞺉𞺚𞺆𞸌𞸍𞸝𞸒𞸟𞸓𞸑𞸎𞸔𞹯𞹡𞹹𞹼𞹾𞹰𞹻𞹧𞹤𞹢𞹪𞹷𞹬𞹭𞹲𞹱𞹮𞹴𞹨𞹵𞹶𞹩𞹺"\
+#define _LA_ICO_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS \
+"𞻱𞻰𞸏𞸀𞸁𞸜𞸙𞸃𞺯𞺡𞺹𞺣𞺰𞺻𞺧𞺢𞺷𞺫𞺬𞺭𞺲𞺳𞺱𞺮𞺴𞺨𞺵𞺸𞺶𞺥𞺩𞺺𞺦𞸐𞸞𞸛𞸇𞸯𞸡𞸹" \
+"𞸰𞸻𞸧𞸤𞸢𞸪𞸷𞸫𞸬𞸭𞸲𞸱𞸮𞸴𞸵𞸶𞸩𞸂𞸊𞸗𞸋𞺏𞺀𞺁𞺙𞺃𞺐𞺛𞺇𞺄𞺂𞺗𞺋𞺌𞺍𞺒𞺓𞺑𞺎𞺔" \
+"𞺈𞺕𞺘𞺖𞺅𞺉𞺚𞺆𞸌𞸍𞸝𞸒𞸟𞸓𞸑𞸎𞸔𞹯𞹡𞹹𞹼𞹾𞹰𞹻𞹧𞹤𞹢𞹪𞹷𞹬𞹭𞹲𞹱𞹮𞹴𞹨𞹵𞹶𞹩𞹺" \
 "𞸈𞹏𞹙𞹝𞹟𞹛𞹇𞹂𞹗𞹋𞹍𞹒𞹑𞹎𞹔𞹉𞸕𞸘𞸖𞸅𞸉𞸚𞸆"
 ;
 #endif
 
 // Mahjong Tiles
 #ifndef _LA_ICO_MAHJONG_TILES
-#define _LA_ICO_MAHJONG_TILES\
-"🀀🀁🀂🀃🀄🀅🀆🀇🀈🀉🀊🀋🀌🀍🀎🀏🀐🀑🀒🀓🀔🀕🀖🀗🀘🀙🀚🀛🀜🀝🀞🀟🀠🀡🀢🀣🀤🀥🀦🀧"\
+#define _LA_ICO_MAHJONG_TILES \
+"🀀🀁🀂🀃🀄🀅🀆🀇🀈🀉🀊🀋🀌🀍🀎🀏🀐🀑🀒🀓🀔🀕🀖🀗🀘🀙🀚🀛🀜🀝🀞🀟🀠🀡🀢🀣🀤🀥🀦🀧" \
 "🀨🀩🀪🀫🀄"
 ;
 #endif
 
 // Domino Tiles
 #ifndef _LA_ICO_DOMINO_TILES
-#define _LA_ICO_DOMINO_TILES\
-"🀰🀱🀲🀳🀴🀵🀶🀷🀸🀹🀺🀻🀼🀽🀾🀿🁀🁁🁂🁃🁄🁅🁆🁇🁈🁉🁊🁋🁌🁍🁎🁏🁐🁑🁒🁓🁔🁕🁖🁗"\
-"🁘🁙🁚🁛🁜🁝🁞🁟🁠🁡🁢🁣🁤🁥🁦🁧🁨🁩🁪🁫🁬🁭🁮🁯🁰🁱🁲🁳🁴🁵🁶🁷🁸🁹🁺🁻🁼🁽🁾🁿"\
+#define _LA_ICO_DOMINO_TILES \
+"🀰🀱🀲🀳🀴🀵🀶🀷🀸🀹🀺🀻🀼🀽🀾🀿🁀🁁🁂🁃🁄🁅🁆🁇🁈🁉🁊🁋🁌🁍🁎🁏🁐🁑🁒🁓🁔🁕🁖🁗" \
+"🁘🁙🁚🁛🁜🁝🁞🁟🁠🁡🁢🁣🁤🁥🁦🁧🁨🁩🁪🁫🁬🁭🁮🁯🁰🁱🁲🁳🁴🁵🁶🁷🁸🁹🁺🁻🁼🁽🁾🁿" \
 "🂀🂁🂂🂃🂄🂅🂆🂇🂈🂉🂊🂋🂌🂍🂎🂏🂐🂑🂒🂓"
 ;
 #endif
 
 // Playing Cards
 #ifndef _LA_ICO_PLAYING_CARDS
-#define _LA_ICO_PLAYING_CARDS\
-"🂠🂡🂢🂣🂤🂥🂦🂧🂨🂩🂪🂫🂬🂭🂮🂱🂲🂳🂴🂵🂶🂷🂸🂹🂺🂻🂼🂽🂾🂿🃁🃂🃃🃄🃅🃆🃇🃈🃉🃊"\
-"🃋🃌🃍🃎🃏🃑🃒🃓🃔🃕🃖🃗🃘🃙🃚🃛🃜🃝🃞🃟🃠🃡🃢🃣🃤🃥🃦🃧🃨🃩🃪🃫🃬🃭🃮🃯🃰🃱🃲🃳"\
+#define _LA_ICO_PLAYING_CARDS \
+"🂠🂡🂢🂣🂤🂥🂦🂧🂨🂩🂪🂫🂬🂭🂮🂱🂲🂳🂴🂵🂶🂷🂸🂹🂺🂻🂼🂽🂾🂿🃁🃂🃃🃄🃅🃆🃇🃈🃉🃊" \
+"🃋🃌🃍🃎🃏🃑🃒🃓🃔🃕🃖🃗🃘🃙🃚🃛🃜🃝🃞🃟🃠🃡🃢🃣🃤🃥🃦🃧🃨🃩🃪🃫🃬🃭🃮🃯🃰🃱🃲🃳" \
 "🃴🃵🃏"
 ;
 #endif
 
 // Enclosed Alphanumeric Supplement
 #ifndef _LA_ICO_ENCLOSED_ALPHANUMERIC_SUPPLEMENT
-#define _LA_ICO_ENCLOSED_ALPHANUMERIC_SUPPLEMENT\
-"🅐🄰🄐🅰🅑🄱🄑🅱🅒🄲🄒🅲🅓🄳🄓🅳🅔🄴🄔🅴🅕🄵🄕🅵🅖🄶🄖🅶🅗🄷🄗🅷🅊🅘🄸🄘🅸🅙🄹🄙"\
-"🅹🅚🄺🄚🅺🅛🄻🄛🅻🅜🄼🄜🅼🅋🅝🄽🄝🅽🅞🄾🄞🅾🅟🄿🄟🅿🅎🅠🅀🄠🆀🅡🅁🄡🆁🅢🅂🄢🆂🅌"\
-"🅍🅣🅃🄣🆃🅤🅄🄤🆄🅥🅅🄥🆅🅦🅆🄦🆆🅏🅧🅇🄧🆇🅨🅈🄨🆈🅩🅉🄩🆉🄯🄉🄆🄅🄊🄂🅪🅫🅬🄈"\
-"🄇🄄🄃🄪🄫🄬🄭🄮🆊🆋🆌🆍🆎🆏🆐🆛🆜🆝🆞🆟🆠🆡🆢🆣🆤🆥🆦🆧🆨🆩🆪🆫🆬🄌🄋🄁🄀🅰🅱🅾"\
+#define _LA_ICO_ENCLOSED_ALPHANUMERIC_SUPPLEMENT \
+"🅐🄰🄐🅰🅑🄱🄑🅱🅒🄲🄒🅲🅓🄳🄓🅳🅔🄴🄔🅴🅕🄵🄕🅵🅖🄶🄖🅶🅗🄷🄗🅷🅊🅘🄸🄘🅸🅙🄹🄙" \
+"🅹🅚🄺🄚🅺🅛🄻🄛🅻🅜🄼🄜🅼🅋🅝🄽🄝🅽🅞🄾🄞🅾🅟🄿🄟🅿🅎🅠🅀🄠🆀🅡🅁🄡🆁🅢🅂🄢🆂🅌" \
+"🅍🅣🅃🄣🆃🅤🅄🄤🆄🅥🅅🄥🆅🅦🅆🄦🆆🅏🅧🅇🄧🆇🅨🅈🄨🆈🅩🅉🄩🆉🄯🄉🄆🄅🄊🄂🅪🅫🅬🄈" \
+"🄇🄄🄃🄪🄫🄬🄭🄮🆊🆋🆌🆍🆎🆏🆐🆛🆜🆝🆞🆟🆠🆡🆢🆣🆤🆥🆦🆧🆨🆩🆪🆫🆬🄌🄋🄁🄀🅰🅱🅾" \
 "🅿🆎🆑🆒🆓🆔🆕🆖🆗🆘🆙🆚🇦🇧🇨🇩🇪🇫🇬🇭🇮🇯🇰🇱🇲🇳🇴🇵🇶🇷🇸🇹🇺🇻🇼🇽🇾🇿"
 ;
 #endif
 
 // Enclosed Ideographic Supplement
 #ifndef _LA_ICO_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT
-#define _LA_ICO_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT\
+#define _LA_ICO_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT \
 "🈁🈂🈚🈯🈲🈳🈴🈵🈶🈷🈸🈹🈺🉐🉑"
 ;
 #endif
 
 // Miscellaneous Symbols and Pictographs
 #ifndef _LA_ICO_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS
-#define _LA_ICO_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS\
-"🕈🕇🕉🕏🕆🎟🖂🗶🗳🗹🗷🗵🗴📊🏖🎜🎝🐦🖣🌢🖿🖪🖜🏲🖈🖝🏶🕱🕿🖢💣🕮📚🎕🏗🕫🕬📷🏕🗙"\
-"🕯🗃🗂🐈📉📈💹🐿🏙🖁🎬🏛📋🕗🕣🕚🕦🕔🕠🕓🕟🕘🕤🕐🕜🕖🕢🕕🕡🕙🕥🕒🕞🕛🕧🕑🕝🗘📪📫"\
-"🌩🌧🌨🌪🍸🗜🎛💳🕂🕁🗡🕶🗛🏚🏜🏝🖥🗔🗎🖻🖹🖺🐕🕊👂🌎🌏🌍🗋🗅🗇🗆🗌🗍🖄👽👁👓🏭👪"\
-"🖷🗄🎞📽🐟🖅🌫🗀🍽🖾🖼🖽🌕🏌🎓🖴🎧🎔🕳🌶🏠🏘📥🗚🕹🖦🏷🌜🗮🕻🔍🗨🗬🖎🎚🗸🗲🗱🖇🗢"\
-"🔒🖊🖍🖋🖌🖉🔾🕴🕰🗖🎖🗕💰🗰🎘🏞🕲🕃🕄🗈🗊🗉👌🗝🖳🖯🗁🔓📭📬💿🖸📤🗗📦🗏🗟📟🗐🖆"\
-"🎭💻🖩📾🖨🖶🏎🏍📻🖐🎗🖑🖓🖒🖔🗯🕽🕨🕩🕪🗩🗭🕭🗞🏵🖵🖡🖚🖛🖠🖟🖘🖙🖞🕵🏔🏂🖬🔈🔇"\
-"🔉🔊🗣🕷🕸🗓🗒🏟🖃🗠🎙🏄🏊🕅🖭🖀🕼📺🌡🖱🖧🗤🗥🗦🗧🗫👎👍🖲🏆🖏🖰🗪🔿📹🎮🗑🏳🏋👇"\
-"🖗🖫👈🏱👉🌣🌥🌦🕾👆🌤🌬🖮🗺🕀🔃🌀🌁🌂🌃🌄🌅🌆🌇🌈🌉🌊🌋🌌🌍🌎🌏🌐🌑🌒🌓🌔🌕🌖🌗"\
-"🌘🌙🌚🌛🌜🌝🌞🌟🌠🌡🌤🌥🌦🌧🌨🌩🌪🌫🌬🌭🌮🌯🌰🌱🌲🌳🌴🌵🌶🌷🌸🌹🌺🌻🌼🌽🌾🌿🍀🍁"\
-"🍂🍃🍄🍅🍆🍇🍈🍉🍊🍋🍌🍍🍎🍏🍐🍑🍒🍓🍔🍕🍖🍗🍘🍙🍚🍛🍜🍝🍞🍟🍠🍡🍢🍣🍤🍥🍦🍧🍨🍩"\
-"🍪🍫🍬🍭🍮🍯🍰🍱🍲🍳🍴🍵🍶🍷🍸🍹🍺🍻🍼🍽🍾🍿🎀🎁🎂🎃🎄🎅🎆🎇🎈🎉🎊🎋🎌🎍🎎🎏🎐🎑"\
-"🎒🎓🎖🎗🎙🎚🎛🎞🎟🎠🎡🎢🎣🎤🎥🎦🎧🎨🎩🎪🎫🎬🎭🎮🎯🎰🎱🎲🎳🎴🎵🎶🎷🎸🎹🎺🎻🎼🎽🎾"\
-"🎿🏀🏁🏂🏃🏄🏅🏆🏇🏈🏉🏊🏋🏌🏍🏎🏏🏐🏑🏒🏓🏔🏕🏖🏗🏘🏙🏚🏛🏜🏝🏞🏟🏠🏡🏢🏣🏤🏥🏦"\
-"🏧🏨🏩🏪🏫🏬🏭🏮🏯🏰🏳🏴🏵🏷🏸🏹🏺🏻🏼🏽🏾🏿🐀🐁🐂🐃🐄🐅🐆🐇🐈🐉🐊🐋🐌🐍🐎🐏🐐🐑"\
-"🐒🐓🐔🐕🐖🐗🐘🐙🐚🐛🐜🐝🐞🐟🐠🐡🐢🐣🐤🐥🐦🐧🐨🐩🐪🐫🐬🐭🐮🐯🐰🐱🐲🐳🐴🐵🐶🐷🐸🐹"\
-"🐺🐻🐼🐽🐾🐿👀👁👂👃👄👅👆👇👈👉👊👋👌👍👎👏👐👑👒👓👔👕👖👗👘👙👚👛👜👝👞👟👠👡"\
-"👢👣👤👥👦👧👨👩👪👫👬👭👮👯👰👱👲👳👴👵👶👷👸👹👺👻👼👽👾👿💀💁💂💃💄💅💆💇💈💉"\
-"💊💋💌💍💎💏💐💑💒💓💔💕💖💗💘💙💚💛💜💝💞💟💠💡💢💣💤💥💦💧💨💩💪💫💬💭💮💯💰💱"\
-"💲💳💴💵💶💷💸💹💺💻💼💽💾💿📀📁📂📃📄📅📆📇📈📉📊📋📌📍📎📏📐📑📒📓📔📕📖📗📘📙"\
-"📚📛📜📝📞📟📠📡📢📣📤📥📦📧📨📩📪📫📬📭📮📯📰📱📲📳📴📵📶📷📸📹📺📻📼📽📿🔀🔁🔂"\
-"🔃🔄🔅🔆🔇🔈🔉🔊🔋🔌🔍🔎🔏🔐🔑🔒🔓🔔🔕🔖🔗🔘🔙🔚🔛🔜🔝🔞🔠🔡🔢🔣🔤🔥🔦🔧🔨🔩🔪🔫"\
-"🔬🔭🔮🔯🔰🔱🔲🔳🔴🔵🔶🔷🔸🔹🔺🔻🔼🔽🕉🕊🕋🕌🕍🕎🕐🕑🕒🕓🕔🕕🕖🕗🕘🕙🕚🕛🕜🕝🕞🕟"\
-"🕠🕡🕢🕣🕤🕥🕦🕧🕯🕰🕳🕴🕵🕶🕷🕸🕹🕺🖇🖊🖋🖌🖍🖐🖕🖖🖤🖥🖨🖱🖲🖼🗂🗃🗄🗑🗒🗓🗜🗝"\
+#define _LA_ICO_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS \
+"🕈🕇🕉🕏🕆🎟🖂🗶🗳🗹🗷🗵🗴📊🏖🎜🎝🐦🖣🌢🖿🖪🖜🏲🖈🖝🏶🕱🕿🖢💣🕮📚🎕🏗🕫🕬📷🏕🗙" \
+"🕯🗃🗂🐈📉📈💹🐿🏙🖁🎬🏛📋🕗🕣🕚🕦🕔🕠🕓🕟🕘🕤🕐🕜🕖🕢🕕🕡🕙🕥🕒🕞🕛🕧🕑🕝🗘📪📫" \
+"🌩🌧🌨🌪🍸🗜🎛💳🕂🕁🗡🕶🗛🏚🏜🏝🖥🗔🗎🖻🖹🖺🐕🕊👂🌎🌏🌍🗋🗅🗇🗆🗌🗍🖄👽👁👓🏭👪" \
+"🖷🗄🎞📽🐟🖅🌫🗀🍽🖾🖼🖽🌕🏌🎓🖴🎧🎔🕳🌶🏠🏘📥🗚🕹🖦🏷🌜🗮🕻🔍🗨🗬🖎🎚🗸🗲🗱🖇🗢" \
+"🔒🖊🖍🖋🖌🖉🔾🕴🕰🗖🎖🗕💰🗰🎘🏞🕲🕃🕄🗈🗊🗉👌🗝🖳🖯🗁🔓📭📬💿🖸📤🗗📦🗏🗟📟🗐🖆" \
+"🎭💻🖩📾🖨🖶🏎🏍📻🖐🎗🖑🖓🖒🖔🗯🕽🕨🕩🕪🗩🗭🕭🗞🏵🖵🖡🖚🖛🖠🖟🖘🖙🖞🕵🏔🏂🖬🔈🔇" \
+"🔉🔊🗣🕷🕸🗓🗒🏟🖃🗠🎙🏄🏊🕅🖭🖀🕼📺🌡🖱🖧🗤🗥🗦🗧🗫👎👍🖲🏆🖏🖰🗪🔿📹🎮🗑🏳🏋👇" \
+"🖗🖫👈🏱👉🌣🌥🌦🕾👆🌤🌬🖮🗺🕀🔃🌀🌁🌂🌃🌄🌅🌆🌇🌈🌉🌊🌋🌌🌍🌎🌏🌐🌑🌒🌓🌔🌕🌖🌗" \
+"🌘🌙🌚🌛🌜🌝🌞🌟🌠🌡🌤🌥🌦🌧🌨🌩🌪🌫🌬🌭🌮🌯🌰🌱🌲🌳🌴🌵🌶🌷🌸🌹🌺🌻🌼🌽🌾🌿🍀🍁" \
+"🍂🍃🍄🍅🍆🍇🍈🍉🍊🍋🍌🍍🍎🍏🍐🍑🍒🍓🍔🍕🍖🍗🍘🍙🍚🍛🍜🍝🍞🍟🍠🍡🍢🍣🍤🍥🍦🍧🍨🍩" \
+"🍪🍫🍬🍭🍮🍯🍰🍱🍲🍳🍴🍵🍶🍷🍸🍹🍺🍻🍼🍽🍾🍿🎀🎁🎂🎃🎄🎅🎆🎇🎈🎉🎊🎋🎌🎍🎎🎏🎐🎑" \
+"🎒🎓🎖🎗🎙🎚🎛🎞🎟🎠🎡🎢🎣🎤🎥🎦🎧🎨🎩🎪🎫🎬🎭🎮🎯🎰🎱🎲🎳🎴🎵🎶🎷🎸🎹🎺🎻🎼🎽🎾" \
+"🎿🏀🏁🏂🏃🏄🏅🏆🏇🏈🏉🏊🏋🏌🏍🏎🏏🏐🏑🏒🏓🏔🏕🏖🏗🏘🏙🏚🏛🏜🏝🏞🏟🏠🏡🏢🏣🏤🏥🏦" \
+"🏧🏨🏩🏪🏫🏬🏭🏮🏯🏰🏳🏴🏵🏷🏸🏹🏺🏻🏼🏽🏾🏿🐀🐁🐂🐃🐄🐅🐆🐇🐈🐉🐊🐋🐌🐍🐎🐏🐐🐑" \
+"🐒🐓🐔🐕🐖🐗🐘🐙🐚🐛🐜🐝🐞🐟🐠🐡🐢🐣🐤🐥🐦🐧🐨🐩🐪🐫🐬🐭🐮🐯🐰🐱🐲🐳🐴🐵🐶🐷🐸🐹" \
+"🐺🐻🐼🐽🐾🐿👀👁👂👃👄👅👆👇👈👉👊👋👌👍👎👏👐👑👒👓👔👕👖👗👘👙👚👛👜👝👞👟👠👡" \
+"👢👣👤👥👦👧👨👩👪👫👬👭👮👯👰👱👲👳👴👵👶👷👸👹👺👻👼👽👾👿💀💁💂💃💄💅💆💇💈💉" \
+"💊💋💌💍💎💏💐💑💒💓💔💕💖💗💘💙💚💛💜💝💞💟💠💡💢💣💤💥💦💧💨💩💪💫💬💭💮💯💰💱" \
+"💲💳💴💵💶💷💸💹💺💻💼💽💾💿📀📁📂📃📄📅📆📇📈📉📊📋📌📍📎📏📐📑📒📓📔📕📖📗📘📙" \
+"📚📛📜📝📞📟📠📡📢📣📤📥📦📧📨📩📪📫📬📭📮📯📰📱📲📳📴📵📶📷📸📹📺📻📼📽📿🔀🔁🔂" \
+"🔃🔄🔅🔆🔇🔈🔉🔊🔋🔌🔍🔎🔏🔐🔑🔒🔓🔔🔕🔖🔗🔘🔙🔚🔛🔜🔝🔞🔠🔡🔢🔣🔤🔥🔦🔧🔨🔩🔪🔫" \
+"🔬🔭🔮🔯🔰🔱🔲🔳🔴🔵🔶🔷🔸🔹🔺🔻🔼🔽🕉🕊🕋🕌🕍🕎🕐🕑🕒🕓🕔🕕🕖🕗🕘🕙🕚🕛🕜🕝🕞🕟" \
+"🕠🕡🕢🕣🕤🕥🕦🕧🕯🕰🕳🕴🕵🕶🕷🕸🕹🕺🖇🖊🖋🖌🖍🖐🖕🖖🖤🖥🖨🖱🖲🖼🗂🗃🗄🗑🗒🗓🗜🗝" \
 "🗞🗡🗣🗨🗯🗳🗺🗻🗼🗽🗾🗿🔟"
 ;
 #endif
 
 // Emoticons
 #ifndef _LA_ICO_EMOTICONS
-#define _LA_ICO_EMOTICONS\
-"😐😀😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😑😒😓😔😕😖😗😘😙😚😛😜😝😞😟😠😡😢😣😤😥😦"\
-"😧😨😩😪😫😬😭😮😯😰😱😲😳😴😵😶😷😸😹😺😻😼😽😾😿🙀🙁🙂🙃🙄🙅🙆🙇🙈🙉🙊🙋🙌🙍🙎"\
+#define _LA_ICO_EMOTICONS \
+"😐😀😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😑😒😓😔😕😖😗😘😙😚😛😜😝😞😟😠😡😢😣😤😥😦" \
+"😧😨😩😪😫😬😭😮😯😰😱😲😳😴😵😶😷😸😹😺😻😼😽😾😿🙀🙁🙂🙃🙄🙅🙆🙇🙈🙉🙊🙋🙌🙍🙎" \
 "🙏"
 ;
 #endif
 
 // Ornamental Dingbats
 #ifndef _LA_ICO_ORNAMENTAL_DINGBATS
-#define _LA_ICO_ORNAMENTAL_DINGBATS\
-"🙾🙯🙴🙹🙳🙦🙞🙤🙜🙻🙱🙧🙟🙥🙝🙨🙩🙬🙲🙢🙒🙚🙠🙐🙘🙿🙮🙷🙶🙸🙺🙰🙪🙫🙣🙓🙛🙡🙑🙙"\
+#define _LA_ICO_ORNAMENTAL_DINGBATS \
+"🙾🙯🙴🙹🙳🙦🙞🙤🙜🙻🙱🙧🙟🙥🙝🙨🙩🙬🙲🙢🙒🙚🙠🙐🙘🙿🙮🙷🙶🙸🙺🙰🙪🙫🙣🙓🙛🙡🙑🙙" \
 "🙵🙖🙔🙗🙕🙭🙽🙼"
 ;
 #endif
 
 // Transport and Map Symbols
 #ifndef _LA_ICO_TRANSPORT_AND_MAP_SYMBOLS
-#define _LA_ICO_TRANSPORT_AND_MAP_SYMBOLS\
-"🛩🚑🚼🛏🛎🚲🛉🛈🛋🛲🛊🛠🚹🚇🛥🛣🚭🛪🛢🚘🚍🛱🚔🛳🛇🛤🛰🛡🛍🛆🛧🛦🛨🚺🛓🛔🛕🛖🛗🛷"\
-"🛸🛹🛺🛻🛼🚀🚁🚂🚃🚄🚅🚆🚇🚈🚉🚊🚋🚌🚍🚎🚏🚐🚑🚒🚓🚔🚕🚖🚗🚘🚙🚚🚛🚜🚝🚞🚟🚠🚡🚢"\
-"🚣🚤🚥🚦🚧🚨🚩🚪🚫🚬🚭🚮🚯🚰🚱🚲🚳🚴🚵🚶🚷🚸🚹🚺🚻🚼🚽🚾🚿🛀🛁🛂🛃🛄🛜🛅🛋🛌🛍🛎"\
+#define _LA_ICO_TRANSPORT_AND_MAP_SYMBOLS \
+"🛩🚑🚼🛏🛎🚲🛉🛈🛋🛲🛊🛠🚹🚇🛥🛣🚭🛪🛢🚘🚍🛱🚔🛳🛇🛤🛰🛡🛍🛆🛧🛦🛨🚺🛓🛔🛕🛖🛗🛷" \
+"🛸🛹🛺🛻🛼🚀🚁🚂🚃🚄🚅🚆🚇🚈🚉🚊🚋🚌🚍🚎🚏🚐🚑🚒🚓🚔🚕🚖🚗🚘🚙🚚🚛🚜🚝🚞🚟🚠🚡🚢" \
+"🚣🚤🚥🚦🚧🚨🚩🚪🚫🚬🚭🚮🚯🚰🚱🚲🚳🚴🚵🚶🚷🚸🚹🚺🚻🚼🚽🚾🚿🛀🛁🛂🛃🛄🛜🛅🛋🛌🛍🛎" \
 "🛏🛐🛑🛒🛕🛖🛗🛝🛞🛟🛠🛡🛢🛣🛤🛥🛩🛫🛬🛰🛳🛴🛵🛶🛷🛸🛹🛺🛻🛼"
 ;
 #endif
 
 // Alchemical Symbols
 #ifndef _LA_ICO_ALCHEMICAL_SYMBOLS
-#define _LA_ICO_ALCHEMICAL_SYMBOLS\
-"🜁🝪🜶🜷🝅🝛🜫🜆🜇🜈🜉🜅🜺🝗🜽🝫🝬🜾🜏🝂🝃🝄🝙🝐🝌🝎🜓🜥🜠🜣🜤🜞🝥🝦🝧🝨🝩🝰🝡🝢"\
-"🝠🜃🜂🜚🝉🝲🝳🝖🝮🜡🜜🜝🜪🝓🜸🜐🜑🜒🝱🝯🜕🝆🜎🝘🝋🝚🝟🝣🝤🝁🜀🜻🜼🜲🜳🜴🜵🜰🜱🜟"\
+#define _LA_ICO_ALCHEMICAL_SYMBOLS \
+"🜁🝪🜶🜷🝅🝛🜫🜆🜇🜈🜉🜅🜺🝗🜽🝫🝬🜾🜏🝂🝃🝄🝙🝐🝌🝎🜓🜥🜠🜣🜤🜞🝥🝦🝧🝨🝩🝰🝡🝢" \
+"🝠🜃🜂🜚🝉🝲🝳🝖🝮🜡🜜🜝🜪🝓🜸🜐🜑🜒🝱🝯🜕🝆🜎🝘🝋🝚🝟🝣🝤🝁🜀🜻🜼🜲🜳🜴🜵🜰🜱🜟" \
 "🝭🜘🜙🜹🜔🜭🜦🝏🜛🝔🝇🝒🝜🝝🜬🜢🜮🜧🝞🜍🜿🝀🜩🝈🝑🝍🝕🜨🜊🜋🜌🜯🜖🜗🜄🝊"
 ;
 #endif
 
 // Geometric Shapes Extended
 #ifndef _LA_ICO_GEOMETRIC_SHAPES_EXTENDED
-#define _LA_ICO_GEOMETRIC_SHAPES_EXTENDED\
-"🞃🞀🞙🞟🞂🞄🞍🞗🞝🞌🞁🞘🞞🞽🞱🞤🞫🞷🞆🞐🞜🞴🞧🞮🞺🞉🞓🟆🟏🟑🞾🟊🞲🞬🟌🞸🟓🟔🞇🞑"\
-"🞻🟉🞯🟄🞢🞩🞵🟀🟒🞎🞅🟎🞼🞰🟅🟇🞣🞪🟋🞶🟁🟃🞏🟈🞋🟍🞖🞡🞨🟂🞥🟐🞿🞳🞦🞭🞹🞈🞒🞊"\
+#define _LA_ICO_GEOMETRIC_SHAPES_EXTENDED \
+"🞃🞀🞙🞟🞂🞄🞍🞗🞝🞌🞁🞘🞞🞽🞱🞤🞫🞷🞆🞐🞜🞴🞧🞮🞺🞉🞓🟆🟏🟑🞾🟊🞲🞬🟌🞸🟓🟔🞇🞑" \
+"🞻🟉🞯🟄🞢🞩🞵🟀🟒🞎🞅🟎🞼🞰🟅🟇🞣🞪🟋🞶🟁🟃🞏🟈🞋🟍🞖🞡🞨🟂🞥🟐🞿🞳🞦🞭🞹🞈🞒🞊" \
 "🞛🞚🞠🞕🞔🟕🟖🟗🟘🟠🟡🟢🟣🟤🟥🟦🟧🟨🟩🟪🟫🟠🟡🟢🟣🟤🟥🟦🟧🟨🟩🟪🟫🟰"
 ;
 #endif
 
 // Supplemental Arrows-C
 #ifndef _LA_ICO_SUPPLEMENTAL_ARROWS_C
-#define _LA_ICO_SUPPLEMENTAL_ARROWS_C\
-"🠗🠋🠇🢛🠃🠿🠷🡇🡃🡓🠻🠫🠯🠧🠣🠳🢓🢗🠓🢜🢞🢟🢝🠛🠟🠘🠜🠚🠞🠙🠝🠔🠈🠄🢘🠀🢨🢠🠼🠴"\
-"🢪🡄🡀🢤🡘🢦🡐🠸🢢🠨🠬🠤🠠🠰🢐🢔🠐🡕🡔🠖🠊🠆🢚🠂🢩🢡🠾🠶🢫🡆🡂🢧🢥🡒🠺🢣🠪🠮🠦🠢"\
-"🠲🢒🢖🠒🡖🡗🠕🠉🠅🢙🠁🠽🡙🠵🡅🡁🡑🠹🠩🠭🠥🠡🠱🢑🢕🠑🢬🢭🡫🡻🡣🡳🢃🡨🡸🡠🡰🢀🡭🡽"\
+#define _LA_ICO_SUPPLEMENTAL_ARROWS_C \
+"🠗🠋🠇🢛🠃🠿🠷🡇🡃🡓🠻🠫🠯🠧🠣🠳🢓🢗🠓🢜🢞🢟🢝🠛🠟🠘🠜🠚🠞🠙🠝🠔🠈🠄🢘🠀🢨🢠🠼🠴" \
+"🢪🡄🡀🢤🡘🢦🡐🠸🢢🠨🠬🠤🠠🠰🢐🢔🠐🡕🡔🠖🠊🠆🢚🠂🢩🢡🠾🠶🢫🡆🡂🢧🢥🡒🠺🢣🠪🠮🠦🠢" \
+"🠲🢒🢖🠒🡖🡗🠕🠉🠅🢙🠁🠽🡙🠵🡅🡁🡑🠹🠩🠭🠥🠡🠱🢑🢕🠑🢬🢭🡫🡻🡣🡳🢃🡨🡸🡠🡰🢀🡭🡽" \
 "🡥🡵🢅🡬🡼🡤🡴🢄🡪🡺🡢🡲🢂🡮🡾🡦🡶🢆🡯🡿🡧🡷🢇🡩🡹🡡🡱🢁🢰🢱"
 ;
 #endif
 
 // Supplemental Symbols and Pictographs
 #ifndef _LA_ICO_SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS
-#define _LA_ICO_SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS\
-"🤻🥆🤌🤍🤎🤏🤐🤑🤒🤓🤔🤕🤖🤗🤘🤙🤚🤛🤜🤝🤞🤟🤠🤡🤢🤣🤤🤥🤦🤧🤨🤩🤪🤫🤬🤭🤮🤯🤰🤱"\
-"🤲🤳🤴🤵🤶🤷🤸🤹🤺🤼🤽🤾🤿🥀🥁🥂🥃🥄🥅🥇🥈🥉🥊🥋🥌🥍🥎🥏🥐🥑🥒🥓🥔🥕🥖🥗🥘🥙🥚🥛"\
-"🥜🥝🥞🥟🥠🥡🥢🥣🥤🥥🥦🥧🥨🥩🥪🥫🥬🥭🥮🥯🥰🥱🥲🥳🥴🥵🥶🥷🥸🥹🥺🥻🥼🥽🥾🥿🦀🦁🦂🦃"\
-"🦄🦅🦆🦇🦈🦉🦊🦋🦌🦍🦎🦏🦐🦑🦒🦓🦔🦕🦖🦗🦘🦙🦚🦛🦜🦝🦞🦟🦠🦡🦢🦣🦤🦥🦦🦧🦨🦩🦪🦫"\
-"🦬🦭🦮🦯🦰🦱🦲🦳🦴🦵🦶🦷🦸🦹🦺🦻🦼🦽🦾🦿🧀🧁🧂🧃🧄🧅🧆🧇🧈🧉🧊🧋🧌🧍🧎🧏🧐🧑🧒🧓"\
-"🧔🧕🧖🧗🧘🧙🧚🧛🧜🧝🧞🧟🧠🧡🧢🧣🧤🧥🧦🧧🧨🧩🧪🧫🧬🧭🧮🧯🧰🧱🧲🧳🧴🧵🧶🧷🧸🧹🧺🧻"\
+#define _LA_ICO_SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS \
+"🤻🥆🤌🤍🤎🤏🤐🤑🤒🤓🤔🤕🤖🤗🤘🤙🤚🤛🤜🤝🤞🤟🤠🤡🤢🤣🤤🤥🤦🤧🤨🤩🤪🤫🤬🤭🤮🤯🤰🤱" \
+"🤲🤳🤴🤵🤶🤷🤸🤹🤺🤼🤽🤾🤿🥀🥁🥂🥃🥄🥅🥇🥈🥉🥊🥋🥌🥍🥎🥏🥐🥑🥒🥓🥔🥕🥖🥗🥘🥙🥚🥛" \
+"🥜🥝🥞🥟🥠🥡🥢🥣🥤🥥🥦🥧🥨🥩🥪🥫🥬🥭🥮🥯🥰🥱🥲🥳🥴🥵🥶🥷🥸🥹🥺🥻🥼🥽🥾🥿🦀🦁🦂🦃" \
+"🦄🦅🦆🦇🦈🦉🦊🦋🦌🦍🦎🦏🦐🦑🦒🦓🦔🦕🦖🦗🦘🦙🦚🦛🦜🦝🦞🦟🦠🦡🦢🦣🦤🦥🦦🦧🦨🦩🦪🦫" \
+"🦬🦭🦮🦯🦰🦱🦲🦳🦴🦵🦶🦷🦸🦹🦺🦻🦼🦽🦾🦿🧀🧁🧂🧃🧄🧅🧆🧇🧈🧉🧊🧋🧌🧍🧎🧏🧐🧑🧒🧓" \
+"🧔🧕🧖🧗🧘🧙🧚🧛🧜🧝🧞🧟🧠🧡🧢🧣🧤🧥🧦🧧🧨🧩🧪🧫🧬🧭🧮🧯🧰🧱🧲🧳🧴🧵🧶🧷🧸🧹🧺🧻" \
 "🧼🧽🧾🧿"
 ;
 #endif
 
 // Chess Symbols
 #ifndef _LA_ICO_CHESS_SYMBOLS
-#define _LA_ICO_CHESS_SYMBOLS\
-"🨀🨁🨂🨃🨄🨅🨆🨇🨈🨉🨊🨋🨌🨍🨎🨏🨐🨑🨒🨓🨔🨕🨖🨗🨘🨙🨚🨛🨜🨝🨞🨟🨠🨡🨢🨣🨤🨥🨦🨧"\
-"🨨🨩🨪🨫🨬🨭🨮🨯🨰🨱🨲🨳🨴🨵🨶🨷🨸🨹🨺🨻🨼🨽🨾🨿🩀🩁🩂🩃🩄🩅🩆🩇🩈🩉🩊🩋🩌🩍🩎🩏"\
+#define _LA_ICO_CHESS_SYMBOLS \
+"🨀🨁🨂🨃🨄🨅🨆🨇🨈🨉🨊🨋🨌🨍🨎🨏🨐🨑🨒🨓🨔🨕🨖🨗🨘🨙🨚🨛🨜🨝🨞🨟🨠🨡🨢🨣🨤🨥🨦🨧" \
+"🨨🨩🨪🨫🨬🨭🨮🨯🨰🨱🨲🨳🨴🨵🨶🨷🨸🨹🨺🨻🨼🨽🨾🨿🩀🩁🩂🩃🩄🩅🩆🩇🩈🩉🩊🩋🩌🩍🩎🩏" \
 "🩐🩑🩒🩓🩠🩡🩢🩣🩤🩥🩦🩧🩨🩩🩪🩫🩬🩭"
 ;
 #endif
 
 // Symbols and Pictographs Extended-A
 #ifndef _LA_ICO_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A
-#define _LA_ICO_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A\
-"🩰🩱🩲🩳🩴🩸🩹🩺🪀🪁🪂🪃🪄🪅🪆🪐🪑🪒🪓🪔🪕🪖🪗🪘🪙🪚🪛🪜🪝🪞🪟🪠🪡🪢🪣🪤🪥🪦🪧🪨"\
-"🪰🪱🪲🪳🪴🪵🪶🫀🫁🫂🫐🫑🫒🫓🫔🫕🫖🪻🪇🪈🪼🫏🪿🩶🩷🩵🪯🫚🫛🫎🪽🪭🩰🩱🩲🩳🩴🩸🩹🩺"\
-"🩻🩼🪀🪁🪂🪃🪄🪅🪆🪐🪑🪒🪮🪓🪔🪕🪖🪗🪘🪙🪚🪛🪜🪝🪞🪟🪠🪡🪢🪣🪤🪥🪦🪧🪨🪩🪪🪫🪬🪰"\
-"🪱🪲🪳🪴🪵🪶🪷🪸🪹🪺🫀🫁🫂🫃🫄🫅🫐🫑🫒🫓🫔🫕🫖🫗🫘🫙🫠🫡🫢🫣🫤🫥🫨🫦🫧🫰🫱🫲🫳🫴"\
+#define _LA_ICO_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A \
+"🩰🩱🩲🩳🩴🩸🩹🩺🪀🪁🪂🪃🪄🪅🪆🪐🪑🪒🪓🪔🪕🪖🪗🪘🪙🪚🪛🪜🪝🪞🪟🪠🪡🪢🪣🪤🪥🪦🪧🪨" \
+"🪰🪱🪲🪳🪴🪵🪶🫀🫁🫂🫐🫑🫒🫓🫔🫕🫖🪻🪇🪈🪼🫏🪿🩶🩷🩵🪯🫚🫛🫎🪽🪭🩰🩱🩲🩳🩴🩸🩹🩺" \
+"🩻🩼🪀🪁🪂🪃🪄🪅🪆🪐🪑🪒🪮🪓🪔🪕🪖🪗🪘🪙🪚🪛🪜🪝🪞🪟🪠🪡🪢🪣🪤🪥🪦🪧🪨🪩🪪🪫🪬🪰" \
+"🪱🪲🪳🪴🪵🪶🪷🪸🪹🪺🫀🫁🫂🫃🫄🫅🫐🫑🫒🫓🫔🫕🫖🫗🫘🫙🫠🫡🫢🫣🫤🫥🫨🫦🫧🫰🫱🫲🫳🫴" \
 "🫵🫶🫸🫷"
 ;
 #endif
 
 // Symbols for Legacy Computing
 #ifndef _LA_ICO_SYMBOLS_FOR_LEGACY_COMPUTING
-#define _LA_ICO_SYMBOLS_FOR_LEGACY_COMPUTING\
-"🬀🬁🬂🬃🬄🬅🬆🬇🬈🬉🬊🬋🬌🬍🬎🬏🬐🬑🬒🬓🬔🬕🬖🬗🬘🬙🬚🬛🬜🬝🬞🬟🬠🬡🬢🬣🬤🬥🬦🬧"\
-"🬨🬩🬪🬫🬬🬭🬮🬯🬰🬱🬲🬳🬴🬵🬶🬷🬸🬹🬺🬻🬼🬽🬾🬿🭀🭁🭂🭃🭄🭅🭆🭇🭈🭉🭊🭋🭌🭍🭎🭏"\
-"🭐🭑🭒🭓🭔🭕🭖🭗🭘🭙🭚🭛🭜🭝🭞🭟🭠🭡🭢🭣🭤🭥🭦🭧🭨🭩🭪🭫🭬🭭🭮🭯🭰🭱🭲🭳🭴🭵🭶🭷"\
-"🭸🭹🭺🭻🭼🭽🭾🭿🮀🮁🮂🮃🮄🮅🮆🮇🮈🮉🮊🮋🮌🮍🮎🮏🮐🮑🮒🮔🮕🮖🮗🮘🮙🮚🮛🮜🮝🮞🮟🮠"\
-"🮡🮢🮣🮤🮥🮦🮧🮨🮩🮪🮫🮬🮭🮮🮯🮰🮱🮲🮳🮴🮵🮶🮷🮸🮹🮺🮻🮼🮽🮾🮿🯀🯁🯂🯃🯄🯅🯆🯇🯈"\
+#define _LA_ICO_SYMBOLS_FOR_LEGACY_COMPUTING \
+"🬀🬁🬂🬃🬄🬅🬆🬇🬈🬉🬊🬋🬌🬍🬎🬏🬐🬑🬒🬓🬔🬕🬖🬗🬘🬙🬚🬛🬜🬝🬞🬟🬠🬡🬢🬣🬤🬥🬦🬧" \
+"🬨🬩🬪🬫🬬🬭🬮🬯🬰🬱🬲🬳🬴🬵🬶🬷🬸🬹🬺🬻🬼🬽🬾🬿🭀🭁🭂🭃🭄🭅🭆🭇🭈🭉🭊🭋🭌🭍🭎🭏" \
+"🭐🭑🭒🭓🭔🭕🭖🭗🭘🭙🭚🭛🭜🭝🭞🭟🭠🭡🭢🭣🭤🭥🭦🭧🭨🭩🭪🭫🭬🭭🭮🭯🭰🭱🭲🭳🭴🭵🭶🭷" \
+"🭸🭹🭺🭻🭼🭽🭾🭿🮀🮁🮂🮃🮄🮅🮆🮇🮈🮉🮊🮋🮌🮍🮎🮏🮐🮑🮒🮔🮕🮖🮗🮘🮙🮚🮛🮜🮝🮞🮟🮠" \
+"🮡🮢🮣🮤🮥🮦🮧🮨🮩🮪🮫🮬🮭🮮🮯🮰🮱🮲🮳🮴🮵🮶🮷🮸🮹🮺🮻🮼🮽🮾🮿🯀🯁🯂🯃🯄🯅🯆🯇🯈" \
 "🯉🯊🯰🯱🯲🯳🯴🯵🯶🯷🯸🯹"
 ;
 #endif
 
 // Tags
 #ifndef _LA_ICO_TAGS
-#define _LA_ICO_TAGS\
+#define _LA_ICO_TAGS \
 "󠀰󠀱󠀲󠀳󠀴󠀵󠀶󠀷󠀸󠀹󠁡󠁢󠁣󠁤󠁥󠁦󠁧󠁨󠁩󠁪󠁫󠁬󠁭󠁮󠁯󠁰󠁱󠁲󠁳󠁴󠁵󠁶󠁷󠁸󠁹󠁺󠁿"
 ;
 #endif
 
 // Supplementary Private Use Area-A
 #ifndef _LA_ICO_SUPPLEMENTARY_PRIVATE_USE_AREA_A
-#define _LA_ICO_SUPPLEMENTARY_PRIVATE_USE_AREA_A\
+#define _LA_ICO_SUPPLEMENTARY_PRIVATE_USE_AREA_A \
 "󾠬󾠮󾠯󾠰󾠱󾠲󾠳󾠴󾠵󾠶󾠷󾓭󾓨󾓫󾓧󾓩󾓥󾓮󾓬󾓪󾓦"
 ;
 #endif

+ 2 - 2
la_icon_gen.py

@@ -439,7 +439,7 @@ for i in range(len(_blocks)):
     if len(_blocks[i][3])==0:
         continue;
     name=_blocks[i][2].upper().replace(" ", "_").replace("-", "_")
-    gen.write("// "+_blocks[i][2]+"\n#ifndef _LA_ICO_"+name+"\n#define _LA_ICO_"+name+"\\\n")
+    gen.write("// "+_blocks[i][2]+"\n#ifndef _LA_ICO_"+name+"\n#define _LA_ICO_"+name+" \\\n")
     for c in _blocks[i][3]:
         if (irow%row==0):
             gen.write("\"")
@@ -447,7 +447,7 @@ for i in range(len(_blocks)):
         written+=1;
         irow+=1
         if (irow%row==0):
-            gen.write("\"\\\n")
+            gen.write("\" \\\n")
     if (irow%row!=0):
             gen.write("\"\n")
     gen.write(";\n#endif\n\n")

+ 6 - 6
la_interface.h

@@ -1636,6 +1636,7 @@ int laRebuildPageEval(laRackPage* rp);
 int laRunPage(laRackPage* rp, uint64_t mask);
 
 void laGraphRequestRebuild();
+void laMappingRequestEval();
 
 int la_RunDrivers();
 
@@ -2064,7 +2065,7 @@ STRUCTURE(laAudioDevice){
     laSafeString Name;
 };
 
-typedef int (*laAudioCallbackF)(int Paused, float* input, float* output, uint32_t framecount);
+typedef int (*laAudioCallbackF)(int Paused, const float* input, float* output, uint32_t framecount);
 STRUCTURE(laAudio){
     int Paused;
     
@@ -2124,7 +2125,7 @@ void laSynthTriggerLater(laSynth* s);
 #define LA_INPUT_CONTROLLER_NODE_MODE_AXIS 1
 
 laValueMapper* laValueMapperInit();
-laValueMapper* laValueMapperDestroy(laValueMapper* vm);
+void laValueMapperDestroy(laValueMapper* vm);
 laValueMapper* laValueMapperCopy(laValueMapper* new_optional, laValueMapper* vm);
 real laValueMapperEvaluate(laValueMapper* vm, real x, real* force_InMin, real* force_InMax, real* force_OutMin, real* force_OutMax, int ClampIn, int ClampOut);
 
@@ -2415,7 +2416,7 @@ void laSplitBlockVertical(laBlock *b, real Percentage);
 void laCombineChildBlocks(laBlock *b);
 laBlock *laBlock1(laBlock *b);
 laBlock *laBlock2(laBlock *b);
-laBlock *laSwapSubBlocks(laBlock *b);
+void laSwapSubBlocks(laBlock *b);
 void laDestroyBlocksRecursive(laBlock *Root);
 laPanel* laTearOffPanel(laBlock* b, laPanel* p_if_set);
 void laDockPanel(laWindow* from, laBlock* b, laPanel* p);
@@ -2428,7 +2429,7 @@ void laHidePanel(laPanel *p);
 void laHidePanelWithDissoveEffect(laPanel *p);
 void laActivatePanel(char* TemplateID, int x, int y);
 void laPanPanel(laPanel *p, int DeltaX, int DeltaY);
-int laPanUiListFree(laUiList *uil, int X, int Y);
+void laPanUiListFree(laUiList *uil, int X, int Y);
 int laPanUiList(laUiList *uil, int X, int Y, int L, int R, int U, int B);
 int laPanUiListAuto(laUiList *uil, int X, int Y, int L, int R, int U, int B);
 int laScaleUiList(laUiList *uil, real factor, int L, int R, int U, int B);
@@ -2602,8 +2603,7 @@ laUiList *la_DetectUiListRecursive(laUiList *uil, int x, int y, int LimH,
 laUiList *la_DetectUiListRecursiveDeep(laUiList *uil, int x, int y, int LimH, laUiItem **ParentUi, laUiList **ScrollUil,
                                        laUiList **ContainerParent, int InToContainerUI, laUiItem *Exception, laListHandle* levels);
 
-int laStartWindow(laWindow *w);
-
+void laStartWindow(laWindow *w);
 void laMainLoop();
 
 void la_DestroyOperatorType(laOperatorType* at);

+ 17 - 29
la_kernel.c

@@ -195,10 +195,11 @@ void laShowCursor(){
     if(!MAIN.CurrentWindow) return; XFixesShowCursor(MAIN.dpy, MAIN.CurrentWindow->win);
 }
 
-void la_XErrorHandler(Display *display, XErrorEvent *event){
+int la_XErrorHandler(Display *display, XErrorEvent *event){
     char buf[512];
     XGetErrorText(display, event->error_code, buf, sizeof(buf));
     printf("X Error:\n%s\n",buf);
+    return 0;
 }
 
 SYSWINDOW la_CreateWindowX11(int x, int y, int w, int h, char *title, int SyncToVBlank, GLXContext* r_glc, void* egl_surf){
@@ -613,7 +614,7 @@ int la_CreateSystemWindow(laWindow *window, int SyncToVBlank){
     return 1;
 };
 
-int la_DestroySystemWindow(laWindow* wnd){
+void la_DestroySystemWindow(laWindow* wnd){
 #if defined(LA_USE_GLES) || defined(LAGUI_ANDROID)
     nvgDeleteGLES3(wnd->nvg);
 #else
@@ -2007,7 +2008,6 @@ void la_MakeSpecialKeyBit(SYSWINDOW hwnd,laWindow*wnd,laEvent *e,int use_last_po
     e->SpecialKeyBit = ((GetKeyState(VK_SHIFT)&0x8000)?LA_KEY_SHIFT:0)|((GetKeyState(VK_CONTROL)&0x8000)?LA_KEY_CTRL:0)|((GetKeyState(VK_MENU)&0x8000)?LA_KEY_ALT:0);
 #endif
 }
-void laMappingRequestEval();
 void la_SaveEvent(SYSWINDOW hwnd, laEvent *e, int use_last_pos){
     laListHandle *wl = &MAIN.Windows;
     laWindow* wnd;
@@ -3297,7 +3297,7 @@ void la_WindowDefDraw(laWindow *w, laBoxedTheme *bt){
         la_PerfDraw();
     }
 }
-int laStartWindow(laWindow *w){
+void laStartWindow(laWindow *w){
 #ifdef LA_LINUX
     XMapWindow(MAIN.dpy,w->win);
     tnsContextMakeWindowCurrent(w);
@@ -3486,7 +3486,7 @@ laBlock *laBlock1(laBlock *b){
 laBlock *laBlock2(laBlock *b){
     return b->B2;
 }
-laBlock *laSwapSubBlocks(laBlock *b){
+void laSwapSubBlocks(laBlock *b){
     laBlock *tB;
     tB = b->B2;
     b->B2 = b->B1;
@@ -3737,7 +3737,7 @@ void laPanPanel(laPanel *p, int DeltaX, int DeltaY){
     p->UI.PanX += DeltaX;
     p->UI.PanY += DeltaY;
 }
-int laPanUiListFree(laUiList *uil, int X, int Y){
+void laPanUiListFree(laUiList *uil, int X, int Y){
     uil->PanX+=X; uil->PanY+=Y;
 }
 int laPanUiList(laUiList *uil, int X, int Y, int L, int R, int U, int B){
@@ -4843,6 +4843,7 @@ laUiItem *laShow3DCanvasCombo(laUiList *uil, laColumn *c, laPropPack *Base, cons
         ui=laShowCanvas(uil,c,Base,Path,0,Height); laDefault3DViewOverlay(ui);
     }
 #undef ADD_CANVAS
+    return ui;
 }
 laUiItem *laShowColumnAdjuster(laUiList *uil, laColumn *c){
     laUiItem *ui = memAcquireSimple(sizeof(laUiItem));
@@ -5222,6 +5223,7 @@ int la_DoCompare(int CompMode, int Mode1, int i1, real f1, char *s1, void *p1, i
             return (i1 <= i2);
         }
     }
+    return 0;
 }
 int la_DoExpression(laUiConditionNode *Expression, int *IResult, real *FResult, char *_StrResult, void **PtrResult){
     void *Instance = 0;
@@ -5736,7 +5738,7 @@ STRUCTURE(laRowNode){
     int UseLast;
     int WaitAnimation;
 };
-int la_InitRowNode(laRowInfo* ri, laUiItem* ui, laBoxedTheme* bt){
+void la_InitRowNode(laRowInfo* ri, laUiItem* ui, laBoxedTheme* bt){
     ri->MaxW = ui->TR-ui->TL;//row node does not use margin
     ri->UnitMinW=LA_RH;
     ri->Expand=ui->State?1:0;
@@ -5774,7 +5776,7 @@ int la_ShrinkableRowElements(laRowInfo* ri){
     return count;
 }
 void la_RecordSocketRuntimePosition(laUiItem* ui);
-int la_CalculateRowExpand(laRowInfo* ri, laUiItem* ui_end){
+void la_CalculateRowExpand(laRowInfo* ri, laUiItem* ui_end){
     int Available=ri->MaxW-ri->NonExpandW-ri->TotalPadding;
     int ShareCount=0, Additional=0, AdditionalRemaining=0, Shrinkable=0; real NodeAddFraction=0;
     if(Available<0){
@@ -5785,7 +5787,7 @@ int la_CalculateRowExpand(laRowInfo* ri, laUiItem* ui_end){
         if(!ri->Expand && Available>0){Available=0;}
         ShareCount=ri->ExpandAccum?ri->ExpandAccum:ri->CountElements;
     }
-    if(!ShareCount) return 0;
+    if(!ShareCount) return;
     int PerNode = Available/ShareCount;
     int Remaining = Available-PerNode*ShareCount;
     int L = ri->L; int i=0; laRowNode* rn;
@@ -6309,7 +6311,7 @@ int la_AnimateUiListRecursive(laUiList *uil){
 
     return Again;
 }
-int la_DrawUiItem(laUiItem *ui){
+void la_DrawEmptyUiItem(laUiItem *ui){
     tnsUseNoTexture();
     tnsColor4d(1, 1, 1, 1);
     tnsVertex2d(ui->L, ui->U);
@@ -6318,7 +6320,7 @@ int la_DrawUiItem(laUiItem *ui){
     tnsVertex2d(ui->L, ui->B);
     tnsPackAs(GL_LINE_LOOP);
 }
-int la_DrawActiveUiItemOverlay(laUiItem *ui){
+void la_DrawActiveUiItemOverlay(laUiItem *ui){
     tnsUseNoTexture();
     tnsColor4d(1, 1, 1, 1);
     tnsVertex2d(ui->L - 1, ui->U - 1);
@@ -6678,7 +6680,7 @@ int la_DrawUiListRecursive(laUiListDraw *uild, laUiList *uil, int L, int R, int
         if (la_UiInBoundEx(ui, uild)){ NeedDraw=1; }
 
         if(NeedDraw){
-            if (!ui->Type->Draw){ la_DrawUiItem(ui); tnsFlush();
+            if (!ui->Type->Draw){ la_DrawEmptyUiItem(ui); tnsFlush();
             }else{ ui->Type->Draw(ui, LA_RH); }
 
             if (ui->Type->Tag & LA_UI_TAG_IS_OFFSCREEN){
@@ -6797,22 +6799,6 @@ int la_DrawUiListRecursive(laUiListDraw *uild, laUiList *uil, int L, int R, int
     MAIN.ScaledUiRowHeight=MAIN.UiRowHeight*MAIN.UiScale;
     return Ret;
 }
-int la_DrawPanelScrollBarV(int L, int R, int U, int B, real Total, real Range, real Offset){
-    int Begin = U + (int)(Offset / Total * (real)(B - U)) + 3;
-    int End = Begin + (int)(Range / Total * (real)(B - U)) - 3;
-    tnsUseNoTexture();
-    tnsColor4d(1, 1, 1, 1);
-    tnsVertex2d(L, U);
-    tnsVertex2d(R, U);
-    tnsVertex2d(R, B);
-    tnsVertex2d(L, B);
-    tnsPackAs(GL_LINE_LOOP);
-    tnsVertex2d(L + 3, Begin);
-    tnsVertex2d(R - 3, Begin);
-    tnsVertex2d(R - 3, End);
-    tnsVertex2d(L + 3, End);
-    tnsPackAs(GL_LINE_LOOP);
-}
 
 int la_RejectByUiList(laOperator* a, int x, int y){
     laListItemPointer* lip=a->LocalUiLists.pFirst;
@@ -8024,7 +8010,7 @@ LRESULT CALLBACK LA_ProgressWindowProc(HWND hwnd, UINT message, WPARAM wparam, L
 }
 #endif
 
-int la_UpdateOperatorHints(laWindow* w){
+void la_UpdateOperatorHints(laWindow* w){
     laSafeString* ss=0;
     for(laOperator* o=w->Operators.pFirst;o;o=o->Item.pNext){
         if(o->RuntimeHint&&o->RuntimeHint->Ptr){ strSafePrint(&ss, "%s | %s  ", o->Type->Name, o->RuntimeHint->Ptr);}
@@ -8186,7 +8172,9 @@ int laCopyToClipboard(unsigned char * text){
 	XSetSelectionOwner(MAIN.dpy, MAIN.selection, window, 0);
 	if (XGetSelectionOwner (MAIN.dpy, MAIN.selection) != window) return 0;
     strSafeSet(&MAIN.CopyPending, text);
+    return 1;
 #endif
+    return 0;
 }
 int la_ProcessSysMessage(){
     int SendDelay = 0, SendIdle = 0;

+ 12 - 12
la_tns.h

@@ -213,10 +213,10 @@ struct _tnsMain {
     int IsOffscreen;
     laListHandle Offscreens;
 
-    char *GLVersionStr;
-    char *GLVendorStr;
-    char *GLRendererStr;
-    char *GLSLVersionStr;
+    const char *GLVersionStr;
+    const char *GLVendorStr;
+    const char *GLRendererStr;
+    const char *GLSLVersionStr;
 
     tnsShader* immShader;
     tnsShader* RayShader;
@@ -744,7 +744,7 @@ STRUCTURE(tnsFace){
 
 STRUCTURE(tnsBatchCommand){
     laListItem Item;
-    char* name;
+    const char* name;
     int DrawElements;
     GLuint EBO; //elem
     u32bit ElementCount;
@@ -934,19 +934,19 @@ STRUCTURE(tnsEdgeHash){
 
 void tnsSetuptnsFontManager();
 
-char* tnsEnsureShaderCommoms(char* Content, char* Library, char* Material);
+char* tnsEnsureShaderCommoms(const char* Content, const char* Library, const char* Material);
 tnsShader *tnsNewShaderProgram(int VertexShaderID, int FragmentShaderID, int GeometryShaderID);
-int tnsNewGeometryShader(char *Content);
-int tnsNewFragmentShader(char *Content);
-int tnsNewFragmentShaderMaterial(char *Content, char* Library, char* Material);
-int tnsNewVertexShader(char *Content);
+int tnsNewGeometryShader(const char *Content);
+int tnsNewFragmentShader(const char *Content);
+int tnsNewFragmentShaderMaterial(const char *Content, const char* Library, const char* Material);
+int tnsNewVertexShader(const char *Content);
 void tnsDeleteShaderProgram(tnsShader* s);
 
 int tnsNextPowOf2(int i);
 
 int tnsEnableShader(int index);
 int tnsEnableShaderv(tnsShader *shader);
-int tnsUseShader(tnsShader *shader);
+void tnsUseShader(tnsShader *shader);
 void tnsUseImmShader();
 void tnsUseShadowShader();
 void tnsUseSceneShader();
@@ -1365,7 +1365,7 @@ void tnsRecalculateFaceAverageNormal(tnsFace *f);
 
 int tnsLoadVectorGraphPackage(const char *name, unsigned int size);
 real tnsGetMonoFontAdvance();
-int tnsInvalidateFontCache();
+void tnsInvalidateFontCache();
 int tnsLoadSystemFontMono(char* from, char* mono);
 int tnsLoadSystemFont(char* from, char* name);
 int tnsGetTextureMemoryComponetCount(tnsTexture *t);

+ 11 - 7
la_tns_kernel.c

@@ -414,7 +414,7 @@ void tnsShaderApplyShadowMatrix(tnsShader *tns, tnsMatrix44d m){
     glUniformMatrix4fv(tns->iShadow, 1, 0, mf);
 }
 
-char* tnsEnsureShaderCommoms(char* Content, char* Library, char* Material){
+char* tnsEnsureShaderCommoms(const char* Content, const char* Library, const char* Material){
     char* c=0,*c1=0;
     c1=strSub(Content,"#with TNS_SHADER_COLOR_COMMON",TNS_SHADER_COLOR_COMMON);
     c=strSub(c1,"#with LA_SHADER_LIB_FXAA",LA_SHADER_LIB_FXAA); free(c1);
@@ -428,7 +428,7 @@ char* tnsEnsureShaderCommoms(char* Content, char* Library, char* Material){
     c1=strSub(c,"#with TNS_GLES_UINT_TEXTURE",uint_texture_selection); free(c);
     return c1;
 }
-int tnsNewVertexShader(char *Content){
+int tnsNewVertexShader(const char *Content){
     int status = 0;
     char error[8192]={0};
     GLuint VertexShaderObject;
@@ -453,7 +453,7 @@ int tnsNewVertexShader(char *Content){
 
     return VertexShaderObject;
 }
-int tnsNewFragmentShaderMaterial(char *Content, char* Library, char* Material){
+int tnsNewFragmentShaderMaterial(const char *Content, const char* Library, const char* Material){
     int status = 0;
     char error[8192]={0};
     GLuint FragmentShaderObject;
@@ -478,10 +478,10 @@ int tnsNewFragmentShaderMaterial(char *Content, char* Library, char* Material){
 
     return FragmentShaderObject;
 }
-int tnsNewFragmentShader(char *Content){
+int tnsNewFragmentShader(const char *Content){
     return tnsNewFragmentShaderMaterial(Content,0,0);
 }
-int tnsNewGeometryShader(char *Content){
+int tnsNewGeometryShader(const char *Content){
 #ifndef LAGUI_ANDROID
     int status = 0;
     char error[8192]={0};
@@ -589,7 +589,7 @@ int tnsEnableShaderv(tnsShader *shader){
     
     return 1;
 }
-int tnsUseShader(tnsShader *shader){
+void tnsUseShader(tnsShader *shader){
     T->StateShader = shader;
 }
 void tnsDeleteShaderProgram(tnsShader* s){
@@ -2796,7 +2796,7 @@ int next_p2(int a){
 real tnsGetMonoFontAdvance(){
     return FM->UsingFont->MonoAdvance;
 }
-int tnsInvalidateFontCache(){
+void tnsInvalidateFontCache(){
     tnsFont*f=FM->UsingFont;
     for(int i=0;i<TNS_UNICODE_COUNT;i++){ if(f->characters[i]){ free(f->characters[i]); f->characters[i]=0; } }
     for(int i=0;i<TNS_MONO_COUNT;i++){ if(f->monocharacters[i]){ free(f->monocharacters[i]); f->monocharacters[i]=0; } }
@@ -3853,6 +3853,7 @@ tnsObject* tnsDuplicateObject(tnsObject* o){
     tnsMeshObject* to = memAcquireHyper(tnsSizeOfObject(o));
     tnsInitObjectBase(to, o->ParentObject?o->ParentObject:o->InRoot, o->Name->Ptr, TNS_OBJECT_MESH,0,0,0,0,0,0,0,0,1);
     tnsCopyObjectTransformationsLocal(to,o);
+    return to;
 }
 
 int tnsAnyObjectsSelected(tnsObject *root){
@@ -4284,6 +4285,7 @@ int tnsLuaRunNodeEvent(lua_State* L, tnsEvaluatedNode* en, tnsObject* object, la
         lua_pop(L,1);
     }
     lua_pop(L,3);
+    return 1;
 }
 
 #endif //luajit
@@ -4464,6 +4466,7 @@ int tnsEvaluateObjectTreeEvent(tnsEvaluateData* ed_play, tnsEvaluatedNode* en, l
         if(!stop){ return tnsLuaRunNodeEvent(ed_play->L,en,en->Target,e); }
 #endif
     }
+    return 0;
 }
 void tnsDrawLayer(tnsEvaluateData* ed,int Layer,void* CustomData){
     tnsEvaluatedInstance* ei; int next=0;
@@ -4583,6 +4586,7 @@ tnsMaterialSlot* tnsNewMaterialSlot(tnsObject* o){
         ms->Index=nextid; memAssignRef(ms,&ms->Parent,so); memAssignRef(so,&so->CurrentMaterial,ms);
         return ms;
     }
+    return 0;
 }
 void tnsRemoveMaterialSlot(tnsObject* o, tnsMaterialSlot* ms){
     if(o->Type==TNS_OBJECT_MESH){ tnsMeshObject* mo=o;

+ 1 - 0
la_tns_shape.c

@@ -36,6 +36,7 @@ tnsSPoint* tnsShapeInsertSPointAt(tnsShape* s, tnsSPoint* pivot, int before){
     tnsVectorSet2v(sp->p,pivot->p); tnsVectorSet2v(sp->dl,pivot->dl); tnsVectorSet2v(sp->dr,pivot->dr);
     if(before){ lstInsertItemBefore(&s->Points,sp,pivot); }
     else{ lstInsertItemAfter(&s->Points,sp,pivot); }
+    return sp;
 }
 void tnsShapeSetHole(tnsShape* s, int closed, int toggle){
     if(toggle) tnsShapeSetHole(s,!(s->flags&TNS_SHAPE_HOLE),0);

+ 33 - 36
la_util.c

@@ -50,11 +50,11 @@ int strToUTF8Lim(unsigned char* target, uint32_t* const src, int count){
     uint32_t* source=src; unsigned char* out=target; int i=0; while(laToUTF8(*source, out, &out)){ source++; i++; if(i>=count) break; } *out=0; return out-target;
 }
 int strToUTF8(unsigned char* target, uint32_t* const src){
-    strToUTF8Lim(target,src,INT_MAX);
+    return strToUTF8Lim(target,src,INT_MAX);
 }
 int strlenU(uint32_t* str){ int i=0; while(str[i]!=0) i++; return i; }
-int strcpyU(uint32_t* target, uint32_t* const source ){ int i=0; while(source[i]!=0){ target[i]=source[i]; i++; } target[i]=0; }
-int strcatU(uint32_t* target, uint32_t* const source ){ int i=0,tl=strlenU(target); while(source[i]!=0){ target[i+tl]=source[i]; i++; } target[i+tl]=0; }
+void strcpyU(uint32_t* target, uint32_t* const source ){ int i=0; while(source[i]!=0){ target[i]=source[i]; i++; } target[i]=0; }
+void strcatU(uint32_t* target, uint32_t* const source ){ int i=0,tl=strlenU(target); while(source[i]!=0){ target[i+tl]=source[i]; i++; } target[i+tl]=0; }
 
 struct tm *laGetFullTime(){
     time_t t = time(0);
@@ -446,6 +446,7 @@ int arrInitLength(void** head, int max, int* pmax, size_t ElementSize){
     if(*head){ free(head); }
     *head=CreateNew_Size(ElementSize*max);
     *pmax=max;
+    return 1;
 }
 void arrFree(void** head, int* max){ free(*head); *head=0; *max=0; }
 
@@ -621,48 +622,44 @@ int lstRemoveItem(laListHandle* Handle, laListItem* li) {
 	if (!li->pPrev && Handle->pFirst != li) return 0;
 
 	if (!li->pPrev) Handle->pFirst = li->pNext;
-	else
-		((laListItem*)li->pPrev)->pNext = li->pNext;
+	else ((laListItem*)li->pPrev)->pNext = li->pNext;
 
 	if (!li->pNext) Handle->pLast = li->pPrev;
-	else
-		((laListItem*)li->pNext)->pPrev = li->pPrev;
+	else ((laListItem*)li->pNext)->pPrev = li->pPrev;
 
 	li->pNext = li->pPrev = 0;
+    return 1;
 }
 int lstRemoveItem2(laListHandle *Handle, laListItem2 *li){
     if (!li->pPrev) Handle->pFirst = li->pNext;
-    else
-        ((laListItem2 *)li->pPrev)->pNext = li->pNext;
+    else ((laListItem2 *)li->pPrev)->pNext = li->pNext;
 
     if (!li->pNext) Handle->pLast = li->pPrev;
-    else
-        ((laListItem2 *)li->pNext)->pPrev = li->pPrev;
+    else ((laListItem2 *)li->pNext)->pPrev = li->pPrev;
 
     li->pNext = li->pPrev = 0;
+    return 1;
 };
 int lstRemoveItem3(laListHandle *Handle, laListItem2 *li){
     if (!li->pPrev) Handle->pFirst = li->pNext;
-    else
-        ((laListItem3 *)li->pPrev)->pNext = li->pNext;
+    else ((laListItem3 *)li->pPrev)->pNext = li->pNext;
 
     if (!li->pNext) Handle->pLast = li->pPrev;
-    else
-        ((laListItem3 *)li->pNext)->pPrev = li->pPrev;
+    else ((laListItem3 *)li->pNext)->pPrev = li->pPrev;
 
     li->pNext = li->pPrev = 0;
+    return 1;
 };
 
 int lstRemoveSegment(laListHandle *Handle, laListItem *Begin, laListItem *End){
     if (!Begin->pPrev) Handle->pFirst = End->pNext;
-    else
-        ((laListItem *)Begin->pPrev)->pNext = End->pNext;
+    else ((laListItem *)Begin->pPrev)->pNext = End->pNext;
 
     if (!End->pNext) Handle->pLast = Begin->pPrev;
-    else
-        ((laListItem *)End->pNext)->pPrev = Begin->pPrev;
+    else ((laListItem *)End->pNext)->pPrev = Begin->pPrev;
 
     End->pNext = Begin->pPrev = 0;
+    return 1;
 };
 void lstInsertItemBefore(laListHandle *Handle, laListItem *toIns, laListItem *pivot){
     if (!pivot){
@@ -1105,7 +1102,7 @@ void lstAddNonRecursiveListCopier(laListNonRecursiveRoot *root, laListHandle *ol
     lstAppendItem(&root->NSItems, nrItem);
 };
 
-void *lstFindItem(void *CmpData, laCompareFunc func, laListHandle *hList){
+void *lstFindItem(const void *CmpData, laCompareFunc func, laListHandle *hList){
     laListItem *it;
 
     if (!CmpData || !hList) return 0;
@@ -1725,7 +1722,7 @@ int tolowerGuarded(int a) {
     return a;
 }
 
-laStringSplitor *strSplitPath(char *path,char terminator){
+laStringSplitor *strSplitPath(const char *path,char terminator){
     laStringPart *sp;
     laStringSplitor *ss;
     char *pivot = path;
@@ -1779,7 +1776,7 @@ int strDestroyStringSplitor(laStringSplitor **ss){
     return 1;
 }
 
-char * strSub(char *input, char *substring, char *replace){
+char * strSub(const char *input, const char *substring, const char *replace){
     int     number_of_matches = 0;
     size_t  substring_size = strlen(substring), replace_size = strlen(replace), buffer_size;
     char    *buffer, *bp, *ip;
@@ -1813,7 +1810,7 @@ char * strSub(char *input, char *substring, char *replace){
 }
 
 char buff[128]={0};
-int strMakeInstructions(laStringSplitor **result, char *content){
+int strMakeInstructions(laStringSplitor **result, const char *content){
     laStringPart *sp;
     laStringSplitor *ss = *result;
     char *pivot = content;
@@ -1851,7 +1848,7 @@ int strMakeInstructions(laStringSplitor **result, char *content){
 
     return 1;
 }
-laStringPart *strGetArgument(laStringSplitor *ss, char *content){
+laStringPart *strGetArgument(laStringSplitor *ss, const char *content){
     laStringPart *sp;
     if (!ss) return 0;
     for (sp = ss->parts.pFirst; sp; sp = sp->Item.pNext ? ((laListItem *)sp->Item.pNext)->pNext : 0){
@@ -1859,7 +1856,7 @@ laStringPart *strGetArgument(laStringSplitor *ss, char *content){
     }
     return 0;
 }
-char *strGetArgumentString(laStringSplitor *ss, char *content){
+char *strGetArgumentString(laStringSplitor *ss, const char *content){
     laStringPart *sp;
     if (!ss) return 0;
     for (sp = ss->parts.pFirst; sp; sp = sp->Item.pNext ? ((laListItem *)sp->Item.pNext)->pNext : 0){
@@ -1867,7 +1864,7 @@ char *strGetArgumentString(laStringSplitor *ss, char *content){
     }
     return 0;
 }
-int strArgumentMatch(laStringSplitor *ss, char *id, char *value){
+int strArgumentMatch(laStringSplitor *ss, const char *id, const char *value){
     laStringPart *sp;
     if (!ss) return 0;
     for (sp = ss->parts.pFirst; sp; sp = sp->Item.pNext ? ((laListItem *)sp->Item.pNext)->pNext : 0){
@@ -1875,12 +1872,12 @@ int strArgumentMatch(laStringSplitor *ss, char *id, char *value){
     }
     return 0;
 }
-int strGetIntSimple(char *content){
+int strGetIntSimple(const char *content){
     int a;
     sscanf(content, "%d", &a);
     return a;
 }
-real strGetFloatSimple(char *content){
+real strGetFloatSimple(const char *content){
     real a;
     sscanf(content, "%lf", &a);
     return a;
@@ -1893,10 +1890,10 @@ void strConvFloat_CString(real src, char *dest, int lenth){
     sprintf(dest, "%lf", src);
 };
 
-void strCopyFull(char *dest, char *src){
+void strCopyFull(char *dest, const char *src){
     if (src && dest) strcpy(dest, src);
 }
-void strCopySized(char *dest, int LenthLim, char *src){
+void strCopySized(char *dest, int LenthLim,const  char *src){
     if (src && dest) strcpy(dest, src);
 }
 
@@ -1920,7 +1917,7 @@ void strEscapePath(char* OutCanBeSame, char* path){
     strcpy(OutCanBeSame,t);
 }
 
-int strSame(char *src, char *dest){
+int strSame(const char *src, const char *dest){
     return (src && dest && !strcmp(src, dest));
 }
 
@@ -1929,7 +1926,7 @@ void strSafeDestroy(laSafeString **ss){
     if((*ss)->Ptr) memFree((*ss)->Ptr);
     memFree(*ss); *ss=0;
 }
-void strSafeSet(laSafeString **ss, char *Content){
+void strSafeSet(laSafeString **ss, const char *Content){
     int len;
     if (!Content||!Content[0]){ strSafeDestroy(ss); return; }
     len = strlen(Content);
@@ -1946,7 +1943,7 @@ void strSafeSet(laSafeString **ss, char *Content){
     strcpy((*ss)->Ptr, Content);
     lstAppendItem(&SSC.SafeStrings, *ss);
 }
-void strSafeAppend(laSafeString **ss, char *Content){
+void strSafeAppend(laSafeString **ss, const char *Content){
     if(!ss || !(*ss) || !Content){ strSafeSet(ss, Content); return; }
     int OrigLen=strlen((*ss)->Ptr), ContentLen=strlen(Content);
     char* mem=memAcquireSimple(sizeof(char)*(OrigLen+ContentLen+1));
@@ -1956,11 +1953,11 @@ void strSafeAppend(laSafeString **ss, char *Content){
     memFree((*ss)->Ptr);
     (*ss)->Ptr=mem;
 }
-void strSafePrint(laSafeString **ss, char *Format, ...){
+void strSafePrint(laSafeString **ss, const char *Format, ...){
     char content[1024]; va_list va; va_start(va, Format); vsprintf(content, Format, va); va_end(va);
     strSafeAppend(ss,content);
 }
-void strSafePrintV(laSafeString **ss, char *Format, va_list args){
+void strSafePrintV(laSafeString **ss, const char *Format, va_list args){
     char content[1024]; va_list va; vsprintf(content, Format, args);
     strSafeAppend(ss,content);
 }
@@ -2426,7 +2423,7 @@ void transNewMissEntry(const char *Target){
         hsh256InsertItemCSTR(&MAIN.Translation.MisMatches, tm, Target);
     }
 }
-char *transLate(char *Target){
+char *transLate(const char *Target){
     if (!MAIN.Translation.CurrentLanguage || !MAIN.Translation.EnableTranslation || !Target || !Target[0]) return Target;
     laTranslationMatch *tm = hsh256FindItemSTR(&MAIN.Translation.CurrentLanguage->Matches, IsThisTranslationMatch, Target);
     if (!tm){ transNewMissEntry(Target); return Target; }

+ 20 - 20
la_util.h

@@ -266,7 +266,7 @@ struct _laListNonRecursiveRoot {
 	laListHandle NSItems;
 };
 
-typedef int(*laCompareFunc)(void*, void*);
+typedef int(*laCompareFunc)(const void*, const void*);
 typedef void(*laListDoFunc)(void*);
 typedef void(*laListNonRecursiveDoFunc)(laListNonRecursiveRoot*, void*, void*);//item,custom
 typedef void(*laListNonRecursiveCopyFunc)(laListNonRecursiveRoot*, void*, void*, void*);//old,new,custom
@@ -522,8 +522,8 @@ int laToUTF8(const uint32_t ch, unsigned char* out, unsigned char** next);
 int strToUnicode(uint32_t* target, unsigned char* const src);
 int strToUTF8(unsigned char* target, uint32_t* const src);
 int strlenU(uint32_t* const str);
-int strcpyU(uint32_t* target, uint32_t* const source );
-int strcatU(uint32_t* target, uint32_t* const source );
+void strcpyU(uint32_t* target, uint32_t* const source );
+void strcatU(uint32_t* target, uint32_t* const source );
 
 struct tm* laGetFullTime();
 
@@ -629,7 +629,7 @@ void lstForAllItemsDo_NonRecursive_Root(laListHandle* FirstHandle, laListNonRecu
 void lstCopy_NonRecursive_Root(laListHandle* FromHandle, laListHandle* ToHandle, int SizeEachNode, laListNonRecursiveCopyFunc func, void* custom_data, laListCustomDataRemover remover);
 void lstAddNonRecursiveListHandle(laListNonRecursiveRoot* root, laListHandle* newHandle, laListNonRecursiveDoFunc nrFunc, int bFreeList, void* custom_data, laListCustomDataRemover remover);
 void lstAddNonRecursiveListCopier(laListNonRecursiveRoot* root, laListHandle* oldHandle, laListHandle* newHandle, int sizeEach, laListNonRecursiveCopyFunc nrCpyFunc, void* custom_data, laListCustomDataRemover remover);
-void* lstFindItem(void* CmpData, laCompareFunc func, laListHandle* hList);
+void* lstFindItem(const void* CmpData, laCompareFunc func, laListHandle* hList);
 void lstCombineLists(laListHandle* dest, laListHandle* src);
 void lstDestroyList(laListHandle* hlst);
 void* lstReMatch(laListHandle* SearchHandle, laListHandle* CurrentHandle, void* ItemToFind);
@@ -683,7 +683,7 @@ NEED_STRUCTURE(laSubProp);
 void memAssignRef(void* This, void** ptr, void* instance);
 void memAssignRefSafe(laSubProp* sp, void* This, void** ptr, void* instance);
 
-char * strSub(char *input, char *substring, char *replace);
+char * strSub(const char *input, const char *substring, const char *replace);
 
 int strGetStringTerminateBy(char * content, char terminator, char * Out);
 int strHeadOfStringMatch(char * Str, char * SubStr);
@@ -699,34 +699,34 @@ void strToUpper(char * Str);
 void strToLower(char * Str);
 int tolowerGuarded(int a);
 
-laStringSplitor *strSplitPath(char *path,char terminator);
-int strMakeInstructions(laStringSplitor** result,char * content);
-laStringPart* strGetArgument(laStringSplitor* ss, char * content);
-char * strGetArgumentString(laStringSplitor* ss, char * content);
-int strArgumentMatch(laStringSplitor* ss, char * id, char * value);
+laStringSplitor *strSplitPath(const char *path,char terminator);
+int strMakeInstructions(laStringSplitor** result,const char * content);
+laStringPart* strGetArgument(laStringSplitor* ss, const char * content);
+char * strGetArgumentString(laStringSplitor* ss, const char * content);
+int strArgumentMatch(laStringSplitor* ss, const char* id, const char * value);
 int strDestroyStringSplitor(laStringSplitor** ss);
 
-int strGetIntSimple(char * content);
-real strGetFloatSimple(char * content);
+int strGetIntSimple(const char * content);
+real strGetFloatSimple(const char * content);
 
 void strConvInt_CString(int src, char * dest, int lenth);
 void strConvFloat_CString(real src, char * dest, int lenth);
 
-void strCopyFull(char * dest, char * src);
-void strCopySized(char * dest, int LenthLim, char * src);
+void strCopyFull(char * dest, const char * src);
+void strCopySized(char * dest, int LenthLim, const char * src);
 #define strAppend strcat
 void strPrintFloatAfter(char * dest, int LenthLim, int bits, real data);
 void strPrintIntAfter(char * dest, int LenthLim, int data);
-int strSame(char * src, char *dest);
+int strSame(const char * src, const char *dest);
 void strEscapePath(char* OutCanBeSame, char* path);
 
 #define strPrefix(a, b) (strncmp((a), (b), strlen(b)) == 0)
 
 void strSafeDestroy(laSafeString** ss);
-void strSafeSet(laSafeString** ss, char * Content);
-void strSafeAppend(laSafeString **ss, char *Content);
-void strSafePrint(laSafeString **ss, char *Format, ...);
-void strSafePrintV(laSafeString **ss, char *Format, va_list arg);
+void strSafeSet(laSafeString** ss, const char * Content);
+void strSafeAppend(laSafeString **ss, const char *Content);
+void strSafePrint(laSafeString **ss, const char *Format, ...);
+void strSafePrintV(laSafeString **ss, const char *Format, va_list arg);
 
 void strSafeDump();
 
@@ -764,7 +764,7 @@ void transNewLanguage(const char * LanguageID);
 void transSetLanguage(const char * LanguageID);
 void transDumpMissMatchRecord(const char * filename);
 void transNewEntry(const char * Target, const char * replacement);
-char * transLate(char * Target);
+char * transLate(const char * Target);
 void transState(void* UNUSED, int val);
 
 #include <stdlib.h>

+ 9 - 7
resources/la_operators.c

@@ -62,7 +62,7 @@ void la_RunToolboxEntryParser(laPropPack* parent, laStringSplitor *ss, uint32_t
     }
 }
 
-laProp *la_PropLookup(laListHandle *lst, char *ID);
+laProp *la_PropLookup(laListHandle *lst, const char *ID);
 void la_EnsurePanelSnapping(laPanel *p, int CW, int CH);
 void la_RecalcBlockRecursive(laBlock *b, int X, int Y, int W, int H);
 void la_ConditionNodeFreeRecursive(laUiConditionNode *ucn);
@@ -550,7 +550,7 @@ void laget_FileBrowserDiskID(laDiskItem *di, char *result, char** move){
 void laget_FileBrowserDiskCapacity(laDiskItem *di, char *result, char** move){
     sprintf(result, "%.1lf/%.1lfGB",di->Free_GB,di->Total_GB);
 }
-void *laset_FileBrowserActiveDisk(laFileBrowser *fb, laDiskItem *di, int UNUSED_State){
+void laset_FileBrowserActiveDisk(laFileBrowser *fb, laDiskItem *di, int UNUSED_State){
     fb->RootDisk = di;
     char path[1024]; char* _path=path;
     laget_FileBrowserDiskID(di, path, &_path);
@@ -563,7 +563,7 @@ void laset_FileBrowserPath(laFileBrowser *fb, char *content){
         strCopyFull(fb->Path, content); la_FileBrowserRebuildList(fb); fb->FileName[0] = 0; laRecalcCurrentPanel();
     }
 }
-void *laset_FileBrowserBookmark(laFileBrowser *fb, laBookmarkedFolder *bf){
+void laset_FileBrowserBookmark(laFileBrowser *fb, laBookmarkedFolder *bf){
     strcpy(fb->Path,bf->Path); la_FileBrowserRebuildList(fb); fb->FileName[0] = 0;
 }
 void laset_FileBrowserFileName(laFileBrowser *fb, char *content){
@@ -1141,7 +1141,7 @@ STRUCTURE(laKeyDetectorData){
     int Button, Axis, Device;
     laSafeString* Str;
 };
-int OPEXT_InputMappingEntrySelectKey(laOperator* a,int exitmode){
+void OPEXT_InputMappingEntrySelectKey(laOperator* a,int exitmode){
     laKeyDetectorData* kdd=a->CustomData;
     strSafeDestroy(&kdd->Str);
     memFree(kdd);
@@ -1365,6 +1365,7 @@ int OPCHK_CombineChildBlocks(laPropPack *This, laStringSplitor *Instructions){
     laLayout *l = MAIN.CurrentWindow->CurrentLayout;
     laBlock *b = l->OnBlockSeperator;
     if (!(b)) return 0;
+    return 1;
 }
 int OPINV_CombineChildBlocks(laOperator *a, laEvent *e){
     laLayout *l = MAIN.CurrentWindow->CurrentLayout;
@@ -1588,7 +1589,7 @@ int OPMOD_BlockClosePanel(laOperator *a, laEvent *e){
     }else
         return LA_RUNNING;
 }
-int laui_BlockEdgeMenu(laOperator *WindowAct, laLayout *l, laBlock *b, laEvent *e){
+void laui_BlockEdgeMenu(laOperator *WindowAct, laLayout *l, laBlock *b, laEvent *e){
     laPanel *p;
     laColumn *c, *cl, *cr;
     laUiList *uil;
@@ -1619,6 +1620,7 @@ laBlock* la_MakeDropBlock(laBlock* DropToBlock, int DropLocation){
         laSplitBlockHorizon(DropToBlock, 0.5);
         return DropToBlock->B2;
     }
+    return DropToBlock;
 }
 void la_StartDocking(laWindow* from, laPanel* p){
     for(laWindow* w=MAIN.Windows.pFirst;w;w=w->Item.pNext){  w->DockingFrom = from; w->IsDocking=1; } MAIN.DockingPanel=p;
@@ -1720,7 +1722,7 @@ int la_DetectBlockDropLocation(laBlock *b, int X, int Y){
         }
     }
 }
-int laui_BlockMenu(laOperator *WindowAct, laWindow* w, laLayout *l, laBlock *b, laEvent *e){
+void laui_BlockMenu(laOperator *WindowAct, laWindow* w, laLayout *l, laBlock *b, laEvent *e){
     laPanel *p;
     laColumn *c;
     laUiList *uil;
@@ -1993,7 +1995,7 @@ int la_GenericTopPanelProcessing(laOperator* a, laEvent* e){
     }
     return 0;
 }
-int la_GeneratePasteEvent(laWindow* w){
+void la_GeneratePasteEvent(laWindow* w){
 #ifdef LA_LINUX
     XConvertSelection(MAIN.dpy, MAIN.bufid, MAIN.fmtid, MAIN.propid, w->win, CurrentTime);
 #endif

+ 3 - 3
resources/la_properties.c

@@ -529,7 +529,7 @@ void laset_CurrentRackPage(laRackPageCollection* c,laRackPage* rp){
 void* laget_CurrentAnimationAction(void* unused_a){
     return MAIN.Animation->CurrentAction;
 }
-void* laset_CurrentAnimationAction(void* unused_a, laAction* c){
+void laset_CurrentAnimationAction(void* unused_a, laAction* c){
     memAssignRef(MAIN.Animation,&MAIN.Animation->CurrentAction,c);
     laNotifyUsers("la.animation.current_action");
 }
@@ -567,7 +567,7 @@ void *tnsget_TnsMain(void *unused,void *unused2){
 void *tnsget_World(void *unused,void *unused2){
     return T->World;
 }
-void *tnsread_World(void *unused, void *inst){
+void tnsread_World(void *unused, void *inst){
 }
 void tnsset_InstancerInstance(tnsInstancer *o, tnsObject* value){
     o->Instance=value; tnsInvalidateEvaluation(o); laNotifyUsers("tns.world");
@@ -590,7 +590,7 @@ void *tnsget_detached_FirstTexture(void *UNUSED1, void *UNUSED2){
 void *tnsget_PreviewTexture(void *UNUSED){
     return T->PreviewTexture;
 }
-void *tnsset_PreviewTexture(void *UNUSED_PARENT, void *tex, int UNUSEDSTATE){
+void tnsset_PreviewTexture(void *UNUSED_PARENT, void *tex, int UNUSEDSTATE){
     T->PreviewTexture = tex;
 }
 void *tnsget_NextLinkedObject(tnsObject *o, laPropIterator *pi){

+ 4 - 4
resources/la_widgets.c

@@ -1166,7 +1166,7 @@ void la_MultiStringDraw(laUiItem *ui, int h){
 
     tnsColor4dv(laThemeColor(bt, LA_BT_TEXT));
 
-    int Line=0, Skip=0, _L=ui->L+NumberWidth+LA_M; char num[10]={0};
+    int Line=0, Skip=0, _L=ui->L+NumberWidth+LA_M; char num[64]={0};
     for(laStringLine* sl=se->Lines.pFirst;sl;sl=sl->Item.pNext){
         int UseLine=Line+Skip;
         if(UseLine<se->ViewStartLine){ Skip++; continue; }
@@ -1565,8 +1565,8 @@ void la_ValueMeterType1Draw(laUiItem *ui, int h){
     laBoxedTheme *bt = (*ui->Type->Theme);
     int DataI[8]; real Data[8];
     int Len, i, W; real Seg;
-    char buf[48] = {0};
-    char buf2[48] = {0};
+    char buf[64] = {0};
+    char buf2[64] = {0};
     char prefix[8][64] = {0};
     int Original;
     int Imin=-100, Imax=100;
@@ -3578,7 +3578,7 @@ laValueMapper* laValueMapperInit(){
     la_ValueMapperEnsureValidPoints(vm);
     return vm;
 }
-laValueMapper* laValueMapperDestroy(laValueMapper* vm){
+void laValueMapperDestroy(laValueMapper* vm){
     laValueMapperPoint* vmp;
     while(vmp=lstPopItem(&vm->Points)){ memLeave(vmp); }
     memLeave(vm);

+ 1 - 1
resources/la_widgets_viewers.c

@@ -1029,7 +1029,7 @@ int OPINV_3DOr2DViewAdjust(laOperator *a, laEvent *e){
 
     return LA_RUNNING;
 }
-int OPEXT_3DOr2DViewAdjust(laOperator *a, int Mark){
+void OPEXT_3DOr2DViewAdjust(laOperator *a, int Mark){
     if (a->CustomData) memFree(a->CustomData);
     laSetWindowCursor(LA_ARROW);
 }