1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/walkline-fontmaker-client

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Charset.cpp 1.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Walkline Wang Отправлено 4 лет назад 8c45646
#include "StdAfx.h"
#include "Charset.h"
#include <iostream>
CCharset::CCharset(void)
{
m_pTable = NULL;
m_nCount = 0;
}
CCharset::~CCharset(void) {}
BOOL CCharset::LoadFromFile(LPCTSTR pFileName)
{
CFile cf;
ULONG len;
if (!cf.Open(pFileName,CFile::modeRead|CFile::shareDenyNone)) {return FALSE;}
len = (ULONG)cf.GetLength();
m_pTable = (WCHAR*)malloc(len+2);
if(m_pTable==NULL) {
cf.Close();
return FALSE;
}
ZeroMemory(m_pTable,len+2);
if(cf.Read(m_pTable,len)!=len) {
cf.Close();
free(m_pTable);
m_pTable = NULL;
return FALSE;
}
cf.Close();
m_nCount = len/2;
return TRUE;
}
BOOL CCharset::CreateFromResource(LPCTSTR pString, DWORD dwSize)
{
ULONG len = dwSize;
m_pTable = (WCHAR*) malloc(len + 2);
if (!m_pTable) {return false;}
ZeroMemory(m_pTable, len + 2);
m_pTable = _wcsdup(pString);
m_nCount = len / 2;
return false;
}
BOOL CCharset::Create(LPCTSTR pString)
{
m_nCount = (UINT)wcslen(pString);
m_pTable = _wcsdup(pString);
return FALSE;
}
void CCharset::Delete()
{
free(m_pTable);
m_pTable = NULL;
m_nCount = 0;
}
WCHAR CCharset::GetChar(UINT index)
{
if(m_pTable == NULL) {return L'?';}
if(index < m_nCount) {return *(m_pTable+index);}
return L'?';
}
UINT CCharset::GetCharCount() {return m_nCount;}

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/walkline-fontmaker-client.git
git@gitlife.ru:oschina-mirror/walkline-fontmaker-client.git
oschina-mirror
walkline-fontmaker-client
walkline-fontmaker-client
master