mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-11-17 14:54:38 +00:00
Merge pull request #13922 from TryTwo/imgui_add_default_font
OSD/Imgui: Add a better default font
This commit is contained in:
commit
91c3a58889
BIN
Data/Sys/Resources/OSD_Font.ttf
Normal file
BIN
Data/Sys/Resources/OSD_Font.ttf
Normal file
Binary file not shown.
124
Data/Sys/Resources/OSD_Font_VeraMono_Copyright.txt
Normal file
124
Data/Sys/Resources/OSD_Font_VeraMono_Copyright.txt
Normal file
@ -0,0 +1,124 @@
|
||||
Bitstream Vera Fonts Copyright
|
||||
|
||||
The fonts have a generous copyright, allowing derivative works (as
|
||||
long as "Bitstream" or "Vera" are not in the names), and full
|
||||
redistribution (so long as they are not *sold* by themselves). They
|
||||
can be be bundled, redistributed and sold with any software.
|
||||
|
||||
The fonts are distributed under the following copyright:
|
||||
|
||||
Copyright
|
||||
=========
|
||||
|
||||
Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream
|
||||
Vera is a trademark of Bitstream, Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the fonts accompanying this license ("Fonts") and associated
|
||||
documentation files (the "Font Software"), to reproduce and distribute
|
||||
the Font Software, including without limitation the rights to use,
|
||||
copy, merge, publish, distribute, and/or sell copies of the Font
|
||||
Software, and to permit persons to whom the Font Software is furnished
|
||||
to do so, subject to the following conditions:
|
||||
|
||||
The above copyright and trademark notices and this permission notice
|
||||
shall be included in all copies of one or more of the Font Software
|
||||
typefaces.
|
||||
|
||||
The Font Software may be modified, altered, or added to, and in
|
||||
particular the designs of glyphs or characters in the Fonts may be
|
||||
modified and additional glyphs or characters may be added to the
|
||||
Fonts, only if the fonts are renamed to names not containing either
|
||||
the words "Bitstream" or the word "Vera".
|
||||
|
||||
This License becomes null and void to the extent applicable to Fonts
|
||||
or Font Software that has been modified and is distributed under the
|
||||
"Bitstream Vera" names.
|
||||
|
||||
The Font Software may be sold as part of a larger software package but
|
||||
no copy of one or more of the Font Software typefaces may be sold by
|
||||
itself.
|
||||
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL
|
||||
BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL,
|
||||
OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT
|
||||
SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the names of Gnome, the Gnome
|
||||
Foundation, and Bitstream Inc., shall not be used in advertising or
|
||||
otherwise to promote the sale, use or other dealings in this Font
|
||||
Software without prior written authorization from the Gnome Foundation
|
||||
or Bitstream Inc., respectively. For further information, contact:
|
||||
fonts at gnome dot org.
|
||||
|
||||
Copyright FAQ
|
||||
=============
|
||||
|
||||
1. I don't understand the resale restriction... What gives?
|
||||
|
||||
Bitstream is giving away these fonts, but wishes to ensure its
|
||||
competitors can't just drop the fonts as is into a font sale system
|
||||
and sell them as is. It seems fair that if Bitstream can't make money
|
||||
from the Bitstream Vera fonts, their competitors should not be able to
|
||||
do so either. You can sell the fonts as part of any software package,
|
||||
however.
|
||||
|
||||
2. I want to package these fonts separately for distribution and
|
||||
sale as part of a larger software package or system. Can I do so?
|
||||
|
||||
Yes. A RPM or Debian package is a "larger software package" to begin
|
||||
with, and you aren't selling them independently by themselves.
|
||||
See 1. above.
|
||||
|
||||
3. Are derivative works allowed?
|
||||
Yes!
|
||||
|
||||
4. Can I change or add to the font(s)?
|
||||
Yes, but you must change the name(s) of the font(s).
|
||||
|
||||
5. Under what terms are derivative works allowed?
|
||||
|
||||
You must change the name(s) of the fonts. This is to ensure the
|
||||
quality of the fonts, both to protect Bitstream and Gnome. We want to
|
||||
ensure that if an application has opened a font specifically of these
|
||||
names, it gets what it expects (though of course, using fontconfig,
|
||||
substitutions could still could have occurred during font
|
||||
opening). You must include the Bitstream copyright. Additional
|
||||
copyrights can be added, as per copyright law. Happy Font Hacking!
|
||||
|
||||
6. If I have improvements for Bitstream Vera, is it possible they might get
|
||||
adopted in future versions?
|
||||
|
||||
Yes. The contract between the Gnome Foundation and Bitstream has
|
||||
provisions for working with Bitstream to ensure quality additions to
|
||||
the Bitstream Vera font family. Please contact us if you have such
|
||||
additions. Note, that in general, we will want such additions for the
|
||||
entire family, not just a single font, and that you'll have to keep
|
||||
both Gnome and Jim Lyles, Vera's designer, happy! To make sense to add
|
||||
glyphs to the font, they must be stylistically in keeping with Vera's
|
||||
design. Vera cannot become a "ransom note" font. Jim Lyles will be
|
||||
providing a document describing the design elements used in Vera, as a
|
||||
guide and aid for people interested in contributing to Vera.
|
||||
|
||||
7. I want to sell a software package that uses these fonts: Can I do so?
|
||||
|
||||
Sure. Bundle the fonts with your software and sell your software
|
||||
with the fonts. That is the intent of the copyright.
|
||||
|
||||
8. If applications have built the names "Bitstream Vera" into them,
|
||||
can I override this somehow to use fonts of my choosing?
|
||||
|
||||
This depends on exact details of the software. Most open source
|
||||
systems and software (e.g., Gnome, KDE, etc.) are now converting to
|
||||
use fontconfig (see www.fontconfig.org) to handle font configuration,
|
||||
selection and substitution; it has provisions for overriding font
|
||||
names and subsituting alternatives. An example is provided by the
|
||||
supplied local.conf file, which chooses the family Bitstream Vera for
|
||||
"sans", "serif" and "monospace". Other software (e.g., the XFree86
|
||||
core server) has other mechanisms for font substitution.
|
||||
|
||||
@ -149,8 +149,10 @@ void OnScreenDisplayPane::AddDescriptions()
|
||||
"<br><br><dolphin_emphasis>If unsure, leave this checked.</dolphin_emphasis>");
|
||||
static const char TR_OSD_FONT_SIZE_DESCRIPTION[] = QT_TR_NOOP(
|
||||
"Changes the font size of the On-Screen Display. Affects features such as performance "
|
||||
"statistics, frame counter, and netplay chat.<br><br><dolphin_emphasis>If "
|
||||
"unsure, leave this at 13.</dolphin_emphasis>");
|
||||
"statistics, frame counter, and netplay chat."
|
||||
"<br><br>The font can be changed by placing a TTF font file into Dolphin's User/Load "
|
||||
"folder, and renaming it OSD_Font.ttf."
|
||||
"<br><br><dolphin_emphasis>If unsure, leave this at 13.</dolphin_emphasis>");
|
||||
|
||||
static const char TR_SHOW_FPS_DESCRIPTION[] =
|
||||
QT_TR_NOOP("Shows the number of distinct frames rendered per second as a measure of "
|
||||
@ -204,7 +206,7 @@ void OnScreenDisplayPane::AddDescriptions()
|
||||
"savestates.<br><br><dolphin_emphasis>If unsure, leave "
|
||||
"this unchecked.</dolphin_emphasis>");
|
||||
static const char TR_LAG_COUNTER_DESCRIPTION[] = QT_TR_NOOP(
|
||||
"Shows how many frames have occured without controller inputs being checked. Resets to 1 "
|
||||
"Shows how many frames have occurred without controller inputs being checked. Resets to 1 "
|
||||
"when inputs are processed. <br><br><dolphin_emphasis>If unsure, leave "
|
||||
"this unchecked.</dolphin_emphasis>");
|
||||
static const char TR_FRAME_COUNTER_DESCRIPTION[] =
|
||||
|
||||
@ -3,7 +3,9 @@
|
||||
|
||||
#include "VideoCommon/OnScreenUI.h"
|
||||
|
||||
#include "Common/CommonPaths.h"
|
||||
#include "Common/EnumMap.h"
|
||||
#include "Common/FileUtil.h"
|
||||
#include "Common/Profiler.h"
|
||||
#include "Common/Timer.h"
|
||||
|
||||
@ -74,11 +76,28 @@ bool OnScreenUI::Initialize(u32 width, u32 height, float scale)
|
||||
}
|
||||
|
||||
// Font defaults
|
||||
ImGuiIO& io = ImGui::GetIO();
|
||||
m_imgui_textures.clear();
|
||||
|
||||
// Setup new font management behavior.
|
||||
ImGui::GetIO().BackendFlags |=
|
||||
ImGuiBackendFlags_RendererHasTextures | ImGuiBackendFlags_RendererHasVtxOffset;
|
||||
// User supplied font
|
||||
std::string file = File::GetUserPath(D_LOAD_IDX) + "OSD_Font.ttf";
|
||||
|
||||
bool font_exists = File::Exists(file);
|
||||
if (!font_exists)
|
||||
{
|
||||
// Default supplied font
|
||||
file = File::GetSysDirectory() + DIR_SEP + RESOURCES_DIR + DIR_SEP + "OSD_Font.ttf";
|
||||
font_exists = File::Exists(file);
|
||||
}
|
||||
|
||||
if (font_exists)
|
||||
{
|
||||
io.Fonts->Clear();
|
||||
io.Fonts->AddFontFromFileTTF(file.c_str());
|
||||
}
|
||||
|
||||
// Setup new font management behavior
|
||||
io.BackendFlags |= ImGuiBackendFlags_RendererHasTextures | ImGuiBackendFlags_RendererHasVtxOffset;
|
||||
|
||||
if (!RecompileImGuiPipeline())
|
||||
return false;
|
||||
@ -443,7 +462,6 @@ void OnScreenUI::UpdateImguiTexture(ImTextureData* tex)
|
||||
tex->SetTexID(static_cast<ImTextureID>(*font_tex.get()));
|
||||
// Keeps the texture alive.
|
||||
m_imgui_textures.push_back(std::move(font_tex));
|
||||
|
||||
tex->SetStatus(ImTextureStatus_OK);
|
||||
}
|
||||
else if (tex->Status == ImTextureStatus_WantUpdates)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user