Я работаю над некоторой разработкой проекта, связанной с созданием PDF с использованием LibHaru. Я планирую разместить текст в определенном регионе. Для этого я использовал TextRect()
, но у меня есть некоторые проблемы с переносом текста.Обтекание текстом в LibHaru
- Если ширина текста больше, чем ширина прямоугольника, прямоугольник становится пустым. Как я могу избавиться от этого?
- Я попытался написать свою собственную текстовую оболочку или функцию разделения строк, которая добавляет пространство после определенного количества символов, но даже это кажется неудачным после определенного предела. Любая помощь в отношении функции обертывания текста.
- Как я могу вычислить ширину текста, который будет вписываться в определенную ширину прямоугольника?
Вот фрагмент кода для расщепленной функции строки:
void SplitString(int iLength, string strInput, string& strOutput)
{
int iSubstringsCnt;
int iAddedCnt;
iSubstringsCnt = strInput.length()/iLength;
iAddedCnt = iSubstringsCnt/iLength;
cout<<iSubstringsCnt<<endl;
cout<<iAddedCnt<<endl;
cout<<strInput.length()<<endl;
for (int iCnt = 0; iCnt <= iSubstringsCnt+ iAddedCnt; iCnt++)
{
if (0 == iCnt)
continue;
strInput.insert((iCnt * iLength)+(iCnt-1) , " ");
}
strOutput= strInput;
}
iLength
: Длина, после чего я хочу разделить.iAddedCnt
: Счет строки после того, как я добавил пространство после нескольких символов.