#
d0f06357 |
|
14-Feb-2024 |
Jérôme Duval <jerome.duval@gmail.com> |
app_server FontManager: load all fonts and named-variants from a file BFont::LoadFont can now use an index (0-based) and an optional named-instance (1-based) to select the font variant from a file. BFont::LoadFont can also use an index when loading from memory. Change-Id: I0ce3eb6cc77d32cf43847416561eafe3063ca693 Reviewed-on: https://review.haiku-os.org/c/haiku/+/7402 Reviewed-by: Jérôme Duval <jerome.duval@gmail.com> Reviewed-by: Máximo Castañeda <antiswen@yahoo.es> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
76b2fd5b |
|
16-Feb-2023 |
Máximo Castañeda <antiswen@yahoo.es> |
app_server: include the manager in the font cache key App-loaded fonts get the same IDs for different apps, so the cache entries can be easily overwritten or used for an unexpected font. The FontManager adds a unique chunk to the string. Change-Id: I67ea9971784f425370d1aad516af4dae8489c45b Reviewed-on: https://review.haiku-os.org/c/haiku/+/6071 Tested-by: Automation <automation@haiku-os.org> Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
85b82f85 |
|
19-Jul-2022 |
Dale Cieslak <dcieslak@yahoo.com> |
BFont: allow loading of user fonts from disk or memory This patch adds an API call to BFont, called LoadFont, that takes a string path to a font file. The user fonts are managed via a new class called AppFontManager that inherits from the base class FontManagerBase but adds the methods to add and remove user fonts from disk or memory. There is also a new method called UnloadFont to remove a user font, but on exit of an app all user fonts should be automatically cleaned up. Global/system fonts are managed by the GlobalFontManager, which is a new class that also inherits from the base class FontManagerBase, replacing the old "FontManager" class. A maximum of 128 user fonts may be loaded, and memory fonts may not exceed 20MB. There's also an overloaded version of LoadFont that accepts an area_id and loads the font from memory. A size and offset may optionally be provided to allow for an area that contains more than just a font. Change-Id: I6add42bdf0c0cefc0e2e2a4984fd848c3e7269e5 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4790 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
20b50a5c |
|
19-Feb-2022 |
Máximo Castañeda <antiswen@yahoo.es> |
app_server: update list of default ignorable code points Update as per Unicode 14 (and draft 15) Include the noncharacters. We don't really want the .notdef glyph for them, except for U+FDD1 which we have reserved internally to force it from webkit. Fixes #17593 Change-Id: I5a62bf0e7753adacc81ea19b3351deb58d5c0653 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4984 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
22dda779 |
|
03-Jul-2021 |
Máximo Castañeda <antiswen@yahoo.es> |
GlyphLayout: emit .nodef glyph for missing glyphs Use glyph 0 when no glyph is found for a character in the current font nor any of the fallbacks. HasGlyphs has to bypass LayoutGlyphs because we want it to mark this case as false, while still checking the fallbacks. Change-Id: Ief8d9d53c91992c659922fb56b79be7172f4ab0d Reviewed-on: https://review.haiku-os.org/c/haiku/+/4144 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
779ab335 |
|
09-Dec-2020 |
X512 <danger_mail@list.ru> |
use .IsSet() instead if .Get() != NULL Change-Id: Ia2b7a719fd398e78cc3b11d4f7b02cb81179f65f Reviewed-on: https://review.haiku-os.org/c/haiku/+/3488 Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
|
#
d99d8dbd |
|
27-Aug-2020 |
X512 <danger_mail@list.ru> |
app_server memory management: use ObjectDeleter to mark ownership Make object ownership explicit by use of ObjectDeleter where possible. Change-Id: I499a00aa3390d1510ae284419e73faffa5166430 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2695 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com> Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
|
#
4dcd8c81 |
|
21-May-2020 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
app_server: fix font fallback Actually check that the replacement font contains the needed glyph. Change-Id: I6d774361fcf16a36dc3d05ce8b0fe1cb407fabff Reviewed-on: https://review.haiku-os.org/c/haiku/+/2767 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
15325401 |
|
14-Feb-2016 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
app_server: do not return a glyph when nothing is found in the font. - Fixes BFont::GetHasGlyphs, the "empty square" which was returned led it to think the font had glyphs for everything - This means the "no character" empty square will not be drawn anymore, if we want it back, we will need to rework the implementation a bit more (either request it explicitly when there is a missing glyph, or return it as it was before but including an info that it is the "missing glyph") - Maybe GetHasGlyphs should also bypass the font fallback system, and return what's actually in the requested font only. This also fixes a locking problem in the GlyphLayoutEngine, the code didn't handle the read/write lock properly and tried to ReadUnlock from a place where only the write lock was held.
|
#
d9d14326 |
|
26-Feb-2014 |
Stephan Aßmus <superstippi@gmx.de> |
app_server: Implemented support for B_CHAR_SPACING. It doesn't yield quiet the expected results, yet. When hinting is turned on, FontEngine takes a measurement of the precise advance values for each cached glyph by invoking FT_Load_Glyph() with the FT_LOAD_NO_HINTING flag, before loading the glyph for real without that flag. In GlyphLayoutEngine.h, the precise advance value is used for B_CHAR_SPACING. The intended result is that glyphs are rendered hinted (according to global Appearance settings), but spaced along the base-line with precise, unhinted advance values. An application would use this for example to implement precise page or print preview and also for zooming text without altering the placement of glyphs. For Gobe Productive, problems can be observed, because we don't implement this correctly, yet.
|
#
750958b8 |
|
06-Feb-2014 |
Stephan Aßmus <superstippi@gmx.de> |
app_server: Prepare to be able to force vector glyphs... ...in everything text rendering related.
|
#
3fed1a15 |
|
05-Aug-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Get app_server working on x86_64. With this commit, app_server now compiles and runs at boot! Nothing particularly interesting happens, just the blue background and a mouse pointer. Remote backends are broken and not compiled in, see #8834. Note that it won't be possible to build this quite yet, need to get the FreeType package uploaded.
|
#
f4f30311 |
|
24-Jul-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Cleanup app server directory a bit by creating a font and a decorator sub folder. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42483 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d9d14326ca3acb76b37202f2926f9d7cff44b3f0 |
|
26-Feb-2014 |
Stephan Aßmus <superstippi@gmx.de> |
app_server: Implemented support for B_CHAR_SPACING. It doesn't yield quiet the expected results, yet. When hinting is turned on, FontEngine takes a measurement of the precise advance values for each cached glyph by invoking FT_Load_Glyph() with the FT_LOAD_NO_HINTING flag, before loading the glyph for real without that flag. In GlyphLayoutEngine.h, the precise advance value is used for B_CHAR_SPACING. The intended result is that glyphs are rendered hinted (according to global Appearance settings), but spaced along the base-line with precise, unhinted advance values. An application would use this for example to implement precise page or print preview and also for zooming text without altering the placement of glyphs. For Gobe Productive, problems can be observed, because we don't implement this correctly, yet.
|
#
750958b8571b7c77fb5f7305074c3bafc5795419 |
|
06-Feb-2014 |
Stephan Aßmus <superstippi@gmx.de> |
app_server: Prepare to be able to force vector glyphs... ...in everything text rendering related.
|
#
3fed1a15f58e8d6fe6b492f3b94bb3625ffeddbd |
|
05-Aug-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Get app_server working on x86_64. With this commit, app_server now compiles and runs at boot! Nothing particularly interesting happens, just the blue background and a mouse pointer. Remote backends are broken and not compiled in, see #8834. Note that it won't be possible to build this quite yet, need to get the FreeType package uploaded.
|
#
f4f30311aab9b2768d3ef7e590f85598298edfe0 |
|
24-Jul-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Cleanup app server directory a bit by creating a font and a decorator sub folder. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42483 a95241bf-73f2-0310-859d-f6bbb57e9c96
|