void CXML_Parser::SkipLiterals(FX_BSTR str) { m_nOffset = m_nBufferOffset + (FX_FILESIZE)m_dwIndex; if (IsEOF()) { return; } FX_INT32 i = 0, iLen = str.GetLength(); do { while (m_dwIndex < m_dwBufferSize) { if (str.GetAt(i) != m_pBuffer[m_dwIndex ++]) { i = 0; } else { i ++; if (i == iLen) { break; } } } m_nOffset = m_nBufferOffset + (FX_FILESIZE)m_dwIndex; if (i == iLen) { return; } if (m_dwIndex < m_dwBufferSize || IsEOF()) { break; } } while (ReadNextBlock()); while (!m_pDataAcc->IsEOF()) { ReadNextBlock(); m_nOffset = m_nBufferOffset + (FX_FILESIZE)m_dwBufferSize; } m_dwIndex = m_dwBufferSize; }
static FX_DWORD FPF_SKIANormalizeFontName(FX_BSTR bsfamily) { FX_DWORD dwHash = 0; FX_INT32 iLength = bsfamily.GetLength(); FX_LPCSTR pBuffer = bsfamily.GetCStr(); for (FX_INT32 i = 0; i < iLength; i++) { FX_CHAR ch = pBuffer[i]; if (ch == ' ' || ch == '-' || ch == ',') { continue; } dwHash = 31 * dwHash + FXSYS_tolower(ch); } return dwHash; }