00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 #define KATE_INTERNAL
00011 #include "kate_internal.h"
00012 
00013 #include "kate/kate.h"
00014 
00023 int kate_font_get_index_from_code_point(const kate_font_mapping *kfm,int c)
00024 {
00025   size_t n;
00026 
00027   if (!kfm) return KATE_E_INVALID_PARAMETER;
00028   if (!kate_is_valid_code_point(c)) return KATE_E_TEXT;
00029 
00030   for (n=0;n<kfm->nranges;++n) {
00031     const kate_font_range *kfr=kfm->ranges[n];
00032     if (c>=kfr->first_code_point && c<=kfr->last_code_point) {
00033       return kfr->first_bitmap+c-kfr->first_code_point;
00034     }
00035   }
00036 
00037   
00038   return KATE_E_NOT_FOUND;
00039 }
00040