Подтвердить что ты не робот

Как включить и использовать новые шрифты в iPhone SDK?

Я хочу использовать шрифт MgOpen Modata в моем приложении iphone. Но я не вижу его в списке шрифтов в Инспекторе свойств.

Как включить этот шрифт, чтобы я мог его использовать?

4b9b3361

Ответ 1

  • Добавить файлы шрифтов в ваши файлы ресурсов
  • Отредактируйте свой Info.plist: добавьте новую запись с помощью клавиши Fonts provided by application.
  • Для каждого из ваших файлов добавьте имя файла в этот массив

В приведенном ниже примере я добавил шрифт "DejaVu Sans Mono":

Info.plist: adding custom fonts

В вашем приложении вы можете использовать [UIFont fontWithName:@"DejaVuSansMono-Bold" size:14.f].

Или, если вы хотите использовать его в html/css, просто используйте font-family:DejaVu Sans Mono;

Примечание. это доступно в iOS версии 3.2 и более поздних версиях.

Ответ 2

Я нашел это пошаговое руководство было лучшим

Хотя вышеприведенный ответ действительно работает, я обнаружил, что если вы добавили текст в XIB файл, а затем установите шрифт в наш новый шрифт, текст не обновится.

Удостоверившись, что новый шрифт включен в ресурсы, исправлена ​​эта проблема (взята непосредственно из пошагового руководства):

"Это не должно быть проблемой, но иногда, когда у вас возникают проблемы с отображением лица шрифта, это может быть источником головной боли, поэтому теперь давайте дважды проверять его как потенциальную ловушку.

Перейдите в панель "Сборка фаз" проекта, выделив файл проекта XCode в своем браузере решений и справа, выберите "Сформировать фазы". Вы увидите, что один из разделов, который вы можете расширить, - "Копировать ресурсы Bundle". Откройте этот список и убедитесь, что ваши шрифты включены в этот список.

Make sure the fonts are included in our resources

Другие вещи в пошаговом руководстве - это один и тот же материал (добавьте файл в свой проект и в файл plist тоже)

Весь кредит для кода с Крисом за этот ответ, который сэкономил мне много времени и сил, и я просто копирую снимок с его страницы, чтобы этот ответ мог стоять на своих собственных ногах, а не требовать, чтобы вы нажали ссылку.

Ответ 3

Не забудьте добавить шрифты к объектам, компилирующим ресурсы пакета, перейдя в "Цели" → "Сформировать фазы" → "Копировать ресурсы пакета" и добавьте все шрифты вручную

Ответ 4

Я думаю, лучше для разработчика иметь структуру plist в качестве исходного исходного кода. Я оставляю его для копирования/вставки:

<key>UIAppFonts</key>
    <array>
        <string>Roboto-BoldItalic.ttf</string>
        <string>Roboto-Medium.ttf</string>
        <string>Roboto-MediumItalic.ttf</string>
        <string>Roboto-Regular.ttf</string>
        <string>Roboto-Bold.ttf</string>
    </array>

Скопируйте этот фрагмент и измените строки в массиве на нужные шрифты. Совет. Чтобы просмотреть plist как исходный код, нажмите вторичную кнопку над файлом и выберите Открыть как → Исходный код.

ИЗМЕНИТЬ

// Logs fonts ordered by name
    for (NSString* family in [[UIFont familyNames] sortedArrayUsingSelector:@selector(compare:)])
    {
        NSLog(@"%@", family);

        for (NSString* name in [[UIFont fontNamesForFamilyName:family] sortedArrayUsingSelector:@selector(compare:)])
        {
            NSLog(@"  %@", name);
        }
    }

После добавления шрифтов может быть полезно добавить (например) класс AppDelegate.m, чтобы увидеть, каковы имена реальных шрифтов (на комплекте). Проблема, с которой я сталкивался в разное время, что я загружал шрифты с неправильным именем, предполагая, что имя файла шрифта является правильным. Иногда он отличается от реального имени пучка. В дополнение к этому вы можете проверить полное имя файла, используя информационное окно файла (cmd + i) на finder (macOS).

Пример для пояснения:
Имя файла = "DroidSansEthiopic-Regular"
Обработанное имя в пучке = "Droid Sans Ethiopic"

Ответ 5

В большинстве случаев мы забываем добавлять шрифт в приложение Target. Убедитесь, что вы не забыли этот важный шаг. Проверить правильность панели управления Инспектор файлов > Целевое членство.

enter image description here

Также вы можете проверить, что шрифт wether добавлен в ваше приложение или нет, запустив этот фрагмент кода в любом месте вашего приложения.

for (NSString* family in [UIFont familyNames])
{
    NSLog(@"%@", family);

    for (NSString* name in [UIFont fontNamesForFamilyName: family])
    {
        NSLog(@"  %@", name);
    }
}

ИЗМЕНИТЬ

АЛФАВИТНЫЙ ЗАКАЗ:

for (NSString* family in [[UIFont familyNames] sortedArrayUsingSelector:@selector(compare:)])
{
    NSLog(@"%@", family);

    for (NSString* name in [[UIFont fontNamesForFamilyName:family] sortedArrayUsingSelector:@selector(compare:)])
    {
        NSLog(@"  %@", name);
    }
}

Это будет заполнять список доступных шрифтов в вашем приложении, где также появится ваш добавленный шрифт.

Ответ 6

В Xamarin iOS

Шаг 1: Прежде всего, вы должны добавить свой файл .ttf или .otf в свой проект.

как Roboto-BoldItalic.ttf.

Шаг 2: Щелкните правой кнопкой мыши по шрифту и выберите свойство

  • Действие сборки → Содержание
  • Копировать в каталог вывода → Всегда копировать

Шаг 3: перейдите к info.plist

выберите свойство Fonts provided by application и добавьте имя шрифта.

введите описание изображения здесь

Шаг 4:

установить шрифт программно ниже

account.Font = UIFont.FromName("Roboto-BoldItalic", 18f);

Ответ 7

Вы можете напрямую использовать метод [UIFont fontWithName:@"ArialMT" size:14];, если хотите изменить стиль шрифта. Также все шрифты могут быть недоступны в библиотеке iphone. Просто укажите this для доступных стилей шрифта.

Ответ 8

Если у вас есть формат .otf. когда-то этот формат не работает. Преобразовать формат .otf в .ttf. Есть множество конвертеров шрифтов онлайн. После добавления пользовательского шрифта в файл .plist в разделе "Шрифты", предоставленные приложением, как описано выше. Удостоверьтесь в своей целевой цели проекта в разделе "Фаза сборки" → скопируйте Bundel Resourse, что файл присутствует. Если нет, добавьте его. Затем только в вашем коде добавьте этот [UIFont fontWithName: @] ваш собственный шрифт "размер: ваш выбор размера";