static void splitFName( lString16 pathname, lString16 & path, lString16 & name ) { // int spos = -1; for ( spos=pathname.length()-1; spos>=0; spos-- ) { lChar16 ch = pathname[spos]; if ( ch=='\\' || ch=='/' ) { break; } } if ( spos>=0 ) { path = pathname.substr( 0, spos+1 ); name = pathname.substr( spos+1, pathname.length()-spos-1 ); } else { path.clear(); name = pathname; } }
bool setManglingKey(lString16 key) { if (key.startsWith(lString16(L"urn:uuid:"))) key = key.substr(9); _fontManglingKey.clear(); _fontManglingKey.reserve(16); lUInt8 b = 0; int n = 0; for (int i=0; i<key.length(); i++) { int d = hexDigit(key[i]); if (d>=0) { b = (b << 4) | d; if (++n > 1) { _fontManglingKey.add(b); n = 0; b = 0; } } } return _fontManglingKey.length() == 16; }