Components for Delphi and C++ Builder.

Перейти в английский форум
Перейти на EhLib.com
Текущее время: 27 апр 2024, 22:55

Часовой пояс: UTC




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: CrossVCL + Linux оCreateFontPackageProc
СообщениеДобавлено: 15 июн 2022, 06:26 
Не в сети

Зарегистрирован: 02 фев 2021, 14:35
Сообщений: 7
При сборке под Linux с CrossVCL ругается на отсутствие CreateFontPackageProc в PdfFontsEh.pas Вылечилось дополнительным ветвлением условной компиляции с дефайном CROSSVCL.
Код:
{$IFDEF FPC_LINUX}
// There is no CreateFontPackage on Linux.
function CreateFontPackageProc(SrcBuffer: Pointer;
                               SrcBufferSize: Cardinal;
                               UsedUniCodeChars: TWordDynArray): TBytes;
begin
  Result := nil;
end;
{$ELSE}
  {$IFDEF CROSSVCL}
function CreateFontPackageProc(SrcBuffer: Pointer;
                               SrcBufferSize: Cardinal;
                               UsedUniCodeChars: TWordDynArray): TBytes;
begin
  Result := nil;
end;
  {$ELSE}
function CreateFontPackageProc(SrcBuffer: Pointer;
                               SrcBufferSize: Cardinal;
                               UsedUniCodeChars: TWordDynArray): TBytes;
const
  TTFMFP_SUBSET = 0;
  TTFCFP_MS_PLATFORMID = 3;
  TTFCFP_UNICODE_CHAR_SET = 1;
  TTFCFP_FLAGS_SUBSET = 1;
var
  SubSetData: Pointer;
  SubSetMem: Cardinal;
  SubSetSize: Cardinal;
  usFlags: Word;
  ttcIndex: Word;
begin
  SubSetData := nil;
  SubSetMem := 0;
  SubSetSize := 0;
  usFlags := TTFCFP_FLAGS_SUBSET;
  ttcIndex := 0;

  if CreateFontPackage(SrcBuffer, SrcBufferSize,
      @SubSetData, @SubSetMem,  @SubSetSize,
      usFlags,  ttcIndex, TTFMFP_SUBSET,  0,
      TTFCFP_MS_PLATFORMID, TTFCFP_UNICODE_CHAR_SET,
      Pointer(UsedUniCodeChars), Length(UsedUniCodeChars),
      @lpfnAllocate, @lpfnReAllocate, @lpfnFree, nil) = 0 then
  begin
    SetLength(Result, Integer(SubSetSize));
    Move(SubSetData^, Result[0], SubSetSize);
    FreeMem(SubSetData);
  end;
end;
  {$ENDIF CROSSVCL}
{$ENDIF FPC_LINUX}

Offtop: А никто не в курсе, что сейчас с CrossVCL/FMXLinux происходит? Разработчик перестал реагировать на внешние раздражители.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: CrossVCL + Linux оCreateFontPackageProc
СообщениеДобавлено: 16 июн 2022, 01:10 
Не в сети

Зарегистрирован: 21 дек 2011, 18:48
Сообщений: 1549
Добрый день.

Да, есть такая проблема в этой версии.
Исправим в следующей сборке.
Спасибо за информацию.

_________________
Best regards
EhLib support Team


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 44


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB