Пожалуйста, обновите вашу функцию
private func commonInit() {
let uvNub: UIView = Bundle.main.loadNibNamed("VerificationCodeView", owner: self, options: nil) //CRASHES HERE
self.addSubview(uvNub)
contentView.frame = self.bounds
contentView.autoresizingMask = [.flexibleHeight, .flexibleWidth]
}
Большое спасибо за быстрые ответы! На самом деле оба комментария транзитного участка и Charlie Martin были полезны. lettrine.sty
фантастический пакет, и он работает, если масштабируемые шрифты используются.
Так, решение состояло в том, чтобы вызвать Тип 1 шрифты CM вместо CM по умолчанию и использования lettrine.sty
. lettrine.sty
документация предлагает \usepackage{type1cm}
.
Это работает:
\documentclass[12pt]{article}
% works with pdfLaTeX
\usepackage{type1cm} % scalable fonts
\usepackage{lettrine}
\usepackage[papersize={12cm,4cm},
left=0.5cm,right=0.5cm,
top=0.5cm,bottom=0.5cm]{geometry}
\begin{document}
\lettrine[lines=3,slope=-4pt,nindent=-4pt]{W}{ith} a drop cap, the initial sits
within the margins and runs several lines deep into the paragraph, pushing some
normal-sized text off these lines. This keeps the left and top margins of the
paragraph flush. In~modern browsers, this can be done with a combination of
HTML and CSS by~using the float: left; setting.
\end{document}
И это - результат:
Спасибо!
PS. dropping
не работает правильно даже с type1cm
.
UPD. Этот пример также работает с xelatex
.
Попробуйте другой шрифт, один с масштабированием; это похоже на PDF, не находит достаточно большой шрифт для ограничения-W и занимает место. Другая опция состоит в том, чтобы использовать перевод DVI-PDF.
Как jetxee упомянутый, необходимо использовать масштабируемый шрифт для получения точно правильного размера для начальной буквы. При изменении шрифта от значения по умолчанию это произойдет без Вас имеющий необходимость сделать что-либо.
По историческим причинам шрифты CM по умолчанию загружаются, чтобы "привязаться" к определенным размерам, вместо того, чтобы быть загружаемыми в любом масштабированном размере. Это со времени, когда исходные источники Меташрифта использовались, когда другой размер шрифта изменил фактическую форму глифов (Google оптические размеры для любопытного).
Каноническое решение решить эту проблему со шрифтами CM состоит в том, чтобы загрузиться fix-cm
пакет. Пакет type1cm
более старый пакет, который в основном делает то же самое.