From 63de1350c2a926a9941ee1b72a73c84b08cb0fdb Mon Sep 17 00:00:00 2001 From: Oliver Wolff Date: Mon, 24 Mar 2014 10:07:46 +0100 Subject: winphone: deploy default font files as DirectWrite is not supported For Visual Studio we can add the fonts we want to deploy to the project file by using the DEPLOYMENT variable. Change-Id: Ifc87a12a2bb4ec4ff1c0a8dc8f0b1fbf37e4e513 Reviewed-by: Andrew Knight --- mkspecs/features/winrt/font_deployment.prf | 60 ++++++++++++++++++++++++++++++ mkspecs/winphone-arm-msvc2012/qmake.conf | 1 + mkspecs/winphone-x86-msvc2012/qmake.conf | 1 + 3 files changed, 62 insertions(+) create mode 100644 mkspecs/features/winrt/font_deployment.prf (limited to 'mkspecs') diff --git a/mkspecs/features/winrt/font_deployment.prf b/mkspecs/features/winrt/font_deployment.prf new file mode 100644 index 0000000000..36db5b7cac --- /dev/null +++ b/mkspecs/features/winrt/font_deployment.prf @@ -0,0 +1,60 @@ +# Provide default fonts for windows phone +# The DEFAULTFONTS variable indicates, whether the default set of fonts is +# used for deployment. The check below won't work after the fonts are added +# so this helper variable is added and used for the user warning check later. +!defined(FONTS, var):winphone { + FONTS = \ + $$[QT_HOST_PREFIX/src]/lib/fonts/DejaVuSans.ttf \ + $$[QT_HOST_PREFIX/src]/lib/fonts/DejaVuSans-Bold.ttf \ + $$[QT_HOST_PREFIX/src]/lib/fonts/DejaVuSans-BoldOblique.ttf \ + $$[QT_HOST_PREFIX/src]/lib/fonts/DejaVuSansMono.ttf \ + $$[QT_HOST_PREFIX/src]/lib/fonts/DejaVuSansMono-Bold.ttf \ + $$[QT_HOST_PREFIX/src]/lib/fonts/DejaVuSansMono-BoldOblique.ttf \ + $$[QT_HOST_PREFIX/src]/lib/fonts/DejaVuSansMono-Oblique.ttf \ + $$[QT_HOST_PREFIX/src]/lib/fonts/DejaVuSans-Oblique.ttf \ + $$[QT_HOST_PREFIX/src]/lib/fonts/DejaVuSerif.ttf \ + $$[QT_HOST_PREFIX/src]/lib/fonts/DejaVuSerif-Bold.ttf \ + $$[QT_HOST_PREFIX/src]/lib/fonts/DejaVuSerif-BoldOblique.ttf \ + $$[QT_HOST_PREFIX/src]/lib/fonts/DejaVuSerif-Oblique.ttf + DEFAULTFONTS = +} + +if(build_pass:equals(TEMPLATE, "app"))| \ +if(!build_pass:equals(TEMPLATE, "vcapp")) { + defined(DEFAULTFONTS, var) { + message(Default fonts will automatically be deployed with your application. \ + To avoid automatic deployment unset the \"FONTS\" variable (\"FONTS =\") in your .pro file. \ + You can also customize which fonts are deployed by setting the \"FONTS\" variable.) + } + + contains(TEMPLATE, "vc.*") { + BUILD_DIR = $$OUT_PWD + } else { + load(resolve_target) + BUILD_DIR = $$dirname(QMAKE_RESOLVED_TARGET) + } + + for (FONT, FONTS) { + font_$${FONT}.input = $$FONT + font_$${FONT}.output = $$BUILD_DIR/fonts/$$basename(FONT) + font_$${FONT}.CONFIG = verbatim + QMAKE_SUBSTITUTES += font_$${FONT} + } + + !isEmpty(FONTS):equals(TEMPLATE, "app") { + fonts.files = $$BUILD_DIR/fonts/* + isEmpty($$target.path) { + fonts.path = $$OUT_PWD/fonts + } else { + fonts.path = $$target.path/fonts + } + + INSTALLS += fonts + } +} + +!isEmpty(FONTS):winphone:equals(TEMPLATE, "vcapp"):build_pass { + fonts.files = $$OUT_PWD/fonts/* + fonts.path = fonts + DEPLOYMENT += fonts +} diff --git a/mkspecs/winphone-arm-msvc2012/qmake.conf b/mkspecs/winphone-arm-msvc2012/qmake.conf index 72961c320d..ce95fdf0b9 100644 --- a/mkspecs/winphone-arm-msvc2012/qmake.conf +++ b/mkspecs/winphone-arm-msvc2012/qmake.conf @@ -7,6 +7,7 @@ include(../common/winrt_winphone/qmake.conf) QMAKE_COMPILER_DEFINES += _MSC_VER=1700 QMAKE_PLATFORM = winphone $$QMAKE_PLATFORM +CONFIG += font_deployment DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP ARM __ARM__ __arm__ QMAKE_LFLAGS += /MACHINE:ARM diff --git a/mkspecs/winphone-x86-msvc2012/qmake.conf b/mkspecs/winphone-x86-msvc2012/qmake.conf index f7838d187a..ff3d714bc5 100644 --- a/mkspecs/winphone-x86-msvc2012/qmake.conf +++ b/mkspecs/winphone-x86-msvc2012/qmake.conf @@ -7,6 +7,7 @@ include(../common/winrt_winphone/qmake.conf) QMAKE_COMPILER_DEFINES += _MSC_VER=1700 QMAKE_PLATFORM = winphone $$QMAKE_PLATFORM +CONFIG += font_deployment DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP X86 __X86__ __x86__ QMAKE_LFLAGS += /MACHINE:X86 -- cgit v1.2.3