На NSTextField Я настраиваю собственный шрифт размером 140. Текст установлен на «28». Но, как вы можете четко видеть на изображении, текстовое поле имеет много места сверху. Это происходит только с некоторыми типами шрифтов, но не со всеми. Мой вопрос в том, какая информация из шрифта может влиять на текстовое поле, которое заканчивает обрезку текста? (Ascender, Высота крышки?). И если да, могу ли я изменить файл шрифта, чтобы исправить его?Неверные значения шрифта
3
A
ответ
2
Базовый будет варьироваться между шрифтами. Кроме того, существуют другие показатели, которые различаются. Вы можете обойти эту проблему с помощью NSAttributedString. Вы можете попробовать изменить атрибут NSBaselineOffsetAttribute и из набора параграфовMinimumLineHeight и setMaximumLineHeight. Ниже приведен пример. Обязательно создайте две метки textField и подключите их розетки.
self.Label1.stringValue = @"Test Text";
//
// baseline is different for each font!
//
//self.Label2.stringValue = @"Test Text";
NSFont *otherFont = [NSFont fontWithName:@"MarkerFelt-Thin" size:40.0f];
NSNumber *baseline = [[NSNumber alloc] initWithFloat: 5.0f];
NSMutableParagraphStyle *paraStyle = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
[paraStyle setParagraphSpacingBefore:20.0f];
[paraStyle setMinimumLineHeight:30.0f];
[paraStyle setMaximumLineHeight:50.0f];
NSDictionary *otherFDict = [NSDictionary dictionaryWithObjectsAndKeys: paraStyle, NSParagraphStyleAttributeName,
otherFont, NSFontAttributeName, baseline, NSBaselineOffsetAttributeName, nil];
NSMutableAttributedString *otherText = [[NSMutableAttributedString alloc] initWithString:@"Test Text" attributes:otherFDict];
self.Label2.attributedStringValue = otherText;
Смежные вопросы
- 1. Ширина шрифта возвращает неверные значения
- 2. Неверные свойства шрифта из Excel
- 3. Неверные/отсутствующие метрики шрифта в Java?
- 4. Knitr + Beamer to PDF: Неверные символы шрифта
- 5. numpy.vectorize возвращает неверные значения
- 6. Методы, возвращающие неверные значения
- 7. Неверные возвращаемые значения ClientToScreen?
- 8. Неверные значения в gt
- 9. Python возвращает неверные значения?
- 10. CustomAdapter setText неверные значения
- 11. Неверные значения умножения матрицы
- 12. DataReader возвращает неверные значения
- 13. Неверные значения для данных
- 14. Неверные значения layerX/layerY?
- 15. angular.toJson/JSON.stringify неверные значения?
- 16. FindNext, возвращающий неверные значения
- 17. массив строк неверные значения
- 18. Mongoose Saving Неверные значения
- 19. Методы, возвращающие неверные значения?
- 20. QSerialPort: неверные значения
- 21. Неверные возвращаемые значения: C++
- 22. Неверные значения std и ожидаемые значения
- 23. Javascript String.fromCharCode возвращает неверные значения
- 24. Калькулятор Javascript, возвращающий неверные значения
- 25. Уравнение JavaScript, вычисляющее неверные значения
- 26. Qt frameGeometry возвращает неверные значения
- 27. Неверные значения обновляются в MySQL
- 28. Google api возвращает неверные значения
- 29. Запрос CharIndex возвращает неверные значения?
- 30. Неверные значения параметров в MSBuild
Я тоже видел это и не только с большим текстом. Например, в IB, для простой метки, переключитесь с Lucida Grande (по умолчанию на ML) на Helvetica Neue. Положение текста изменяется на отдельные пиксели (но оно почти фиксируется, когда вы устанавливаете его в режим одиночной линии). –