// Creates a unique and unpredictable font name, in order to avoid collisions and to // not allow access from CSS. static String createUniqueFontName() { Vector<char> fontUuid(sizeof(GUID)); CoCreateGuid(reinterpret_cast<GUID*>(fontUuid.data())); Vector<char> fontNameVector; base64Encode(fontUuid, fontNameVector); ASSERT(fontNameVector.size() < LF_FACESIZE); return String(fontNameVector.data(), fontNameVector.size()); }
// Creates a unique and unpredictable font name, in order to avoid collisions and to // not allow access from CSS. static String createUniqueFontName() { Vector<char> fontUuid(sizeof(GUID)); unsigned int* ptr = reinterpret_cast<unsigned int*>(fontUuid.data()); for (int i = 0; i < sizeof(GUID) / sizeof(int) ; ++i) *(ptr + i) = static_cast<unsigned int>(randomNumber() * (std::numeric_limits<unsigned>::max() + 1.0)); Vector<char> fontNameVector; base64Encode(fontUuid, fontNameVector); ASSERT(fontNameVector.size() < LF_FACESIZE); String fontName(fontNameVector.data(), fontNameVector.size()); return fontName.replace('/', '_'); }