Текущий раздел:

Описания RDS

Приложения

Приложение А. Функции, константы и структуры RDS

А.5. Сервисные функции и макросы RDS

А.5.11. Разбор текста

А.5.11.1. rdsFontTextToStruct – разбор описания шрифта

# Приложения

## Приложение А. Функции, константы и структуры RDS

### А.5. Сервисные функции и макросы RDS

#### А.5.11. Разбор текста

Описываются функции, служащие для разбора текста и поиска в нем ключевых слов. Для этой цели могут также использоваться вспомогательные объекты, создаваемые функциями rdsSTRCreateTextReader, rdsINICreateTextHolder и rdsCSVCreate.

##### А.5.11.1. rdsFontTextToStruct – разбор описания шрифта

Функция rdsFontTextToStruct считывает из переданной в параметрах строки описание шрифта и записывает его в указанную структуру. Строка должна иметь кодировку UTF8.

      BOOL RDSCALL rdsFontTextToStruct(
        RDSCSTR Start,            // Начало текста (UTF8)
        RDSCSTR *pNextWord,       // Возврат – конец описания (UTF8)
        RDS_PSERVFONTPARAMS pStr  // Заполняемая структура
      );

Тип указателя на эту функцию

RDS_BSpSpFs

Параметры

Start(RDSCSTR)
  Указатель (char*) на начало текста описания шрифта. Пробелы и табуляции в начале текста будут пропущены.
pNextWord(RDSCSTR*)
  Указатель на переменную типа char*, в которую будет записан указатель на начало первого слова строки Start, которое не относится к описанию шрифта. Если вызывающей программе не нужно знать, где кончается описание шрифта, в этом параметре можно передать NULL.
pStr(RDS_PSERVFONTPARAMS)
  Указатель на структуру описания шрифта RDS_SERVFONTPARAMS в которую функция запишет считанные из строки значения.

Возвращаемое значение

TRUE, если в описании шрифта не обнаружено ошибок, FALSE в противном случае.

Примечания

Эта функция двигается по строке, начиная с указателя Start, считывает из нее ключевые слова описания шрифта (те же, что используются в функции rdsWriteFontText) и следующие за ними значения параметров, записывая при этом эти значения в структуру по указателю pStr. Как только функция встретит в строке ключевое слово, не относящееся к словам описания шрифта, она запишет указатель на начало этого слова в переменную по указателю pNextWord и завершит работу.

Чаще всего rdsFontTextToStruct используется как обратная функция к rdsStructToFontTextA для преобразования строки обратно в структуру описания шрифта. Функция автоматически обрабатывает знак продолжения «+», используемый в текстовом формате схем RDS – обнаружив его, она пропускает следующий за ним перевод строки и повторение знака продолжения, считая следующую строку текста продолжением текущей строки.

Функция не поддерживает кодировку UTF16, поскольку текстовые данные блока всегда хранятся и передаются в модель в кодировке UTF8. Если необходимо считать описание шрифта из строки в UTF16, необходимо предварительно преобразовать ее функцией rdsUTF16toUTF8.

Пример

Пример использования функции приведен в §2.10.1 руководства программиста.

См. также

RDS_SERVFONTPARAMS, rdsStructToFontText, rdsWriteFontText, rdsReadFontText.