Kovid Goyal
df475dfde5
Fix indentation
2020-08-06 17:55:02 +05:30
Kovid Goyal
5555a66638
Adjust cell height automatically for buggy fonts that draw brackets outside the bounding box
...
See https://github.com/cormullion/juliamono/issues/14
2020-08-06 14:06:06 +05:30
Kovid Goyal
e678c41f56
More code scanning warning fixes
2020-07-07 10:24:57 +05:30
Kovid Goyal
ee3462592a
Silence more code scanning warnings
2020-07-07 10:01:38 +05:30
Kovid Goyal
ee47a10b37
Simplify code a bit
2020-07-07 09:44:51 +05:30
Kovid Goyal
209b78a3ec
Silence a code scanning warning
2020-07-07 09:20:59 +05:30
Kovid Goyal
a325a5fdee
Merge branch 'strikethrough-info-from-font' of https://github.com/trygveaa/kitty
2020-03-31 09:34:07 +05:30
Trygve Aaberge
931e91f1a7
Read strikethrough info from font when using FreeType
...
This reads the strikethrough position and thickness from the font so it
is rendered correctly.
This is only implemented for FreeType, not Core Text, because I didn't
find any way to get the info from Core Text, and I don't have a Mac to
test it on either. When using Core Text or when the font doesn't provide
the info, the same approximation as before is used.
2020-03-30 20:09:30 +02:00
Kovid Goyal
0d68b7078c
Check for float conversion issues on build
...
Useful to catch any errors left over from the migration of times from
double to int64_t
2019-09-27 19:47:25 +05:30
Kovid Goyal
57542fc204
Only disable liga and dlig for nimbus mono
2019-08-10 08:22:36 +05:30
Kovid Goyal
cde69670ba
Linux: Fix incorrect scaling for fallback fonts when the font has an underscore that renders out of bounds
...
The calc_cell_height() function should not use underscore heights when
called in contexts other than cell metrics calculation.
Fixes #1713
2019-06-30 08:51:35 +05:30
Kovid Goyal
1ae32b5742
Linux: Automatically increase cell height if the font being used is broken and draws the underscore outside the bounding box
...
See #690
2019-05-29 16:04:50 +05:30
Jerome Reybert
e6217e1428
Fix warning with old freetype headers
...
On Centos 7.6, build produces the following warnings:
kitty/freetype.c: In function ‘render_bitmap’:
kitty/freetype.c:369:36: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
for (unsigned int i = 0; i < bitmap.rows; ++i) {
^
kitty/freetype.c:371:40: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
for (unsigned int j = 0; j < bitmap.width; ++j) bitmap.buffer[i * stride + j] *= 255;
2019-05-24 11:57:08 +02:00
Kovid Goyal
f61dfb0828
Fix warning on older compilers
2019-05-24 12:07:24 +05:30
Kovid Goyal
4fff84b4b9
Add void to all function declarations for functions that take no arguments
...
Micro-optimization for some architectures. Enforced via
-Wstrict-prototypes
2019-05-13 11:04:21 +05:30
Kovid Goyal
c181919a57
Fix rendering of simple strings with FreeType
2019-03-04 19:54:10 +05:30
Kovid Goyal
11522ccc92
Initial code to show window size in cells while resizing
2019-03-04 19:54:10 +05:30
Kovid Goyal
bb97c589c1
FreeType code to render a simple string
2019-03-04 19:54:09 +05:30
Kovid Goyal
719a9a5b64
Fix #1428
2019-02-28 18:05:52 +05:30
Kovid Goyal
d5366a421f
...
2018-12-03 21:35:03 +05:30
Kovid Goyal
3d5977669e
Micro optimization
2018-12-03 20:04:58 +05:30
Kovid Goyal
36da668e6f
Forgot to fill bitmap offset data when rendering colored glyphs
2018-12-03 20:00:24 +05:30
Kovid Goyal
222beedc2a
Fix freetype based rendering of non-hinted fonts at small sizes
...
Now use the post hinting bitmap bearing values instead of the hinting
independent glyph metrics bearing values. Fixes #1173
2018-12-02 14:12:46 +05:30
Kovid Goyal
ee31ba0c76
Merge branch 'multi-pua' of https://github.com/blueyed/kitty
2018-10-30 11:49:05 +05:30
Kovid Goyal
bd5a85a4e7
Fix compilation on ancient linux distros
2018-10-24 08:40:25 +05:30
Kovid Goyal
631f97eb26
Linux: Fix a crash when using the GNU Unifont as a fallback font
...
Fixes #1087
2018-10-24 08:20:37 +05:30
Kovid Goyal
0c0ce4844c
Dont use deprecated FT_Bitmap_New
2018-10-24 07:07:57 +05:30
Daniel Hahler
12cfe6d1d1
render_line: use cells based on bitmap width
...
[ci skip]
2018-09-29 18:38:53 +02:00
Daniel Hahler
fec5a80b89
Init bm
...
Not sure why this became necessary though?!
Fixes:
Linking kitty/fast_data_types ...
kitty/freetype.c: In function ‘render_glyphs_in_cells’:
kitty/freetype.c:514:82: warning: ‘bm.right_edge’ may be used uninitialized in this function [-Wmaybe-uninitialized]
if (num_cells > 1 && right_edge < canvas_width && (delta = (canvas_width - right_edge) / 2) && delta > 1) {
^
kitty/freetype.c:490:21: note: ‘bm.right_edge’ was declared here
ProcessedBitmap bm;
^
2018-09-29 16:20:10 +02:00
Daniel Hahler
1d50a188c4
render_glyphs_in_cells: skip centering glyph for PUA
2018-09-29 16:19:53 +02:00
Kovid Goyal
ab65b9b2fb
Do not convert bitmaps when loading a glyph to access its metrics
2018-09-09 09:46:19 +05:30
Kovid Goyal
f7a621f89f
Use bitmap pitch to iterate over pixels
2018-09-09 09:42:51 +05:30
Kovid Goyal
b808a05e5e
Clean up monochrome bitmap support code
2018-09-09 08:33:32 +05:30
ismed
739ed906f0
Use the old FT_Bitmap_New for backward compatibility
2018-09-08 21:07:38 +01:00
ismed
9fd462077a
Add support for embedded bitmap glyphs
2018-09-08 20:22:48 +01:00
Luflosi
1d91edfb00
dont -> don't
2018-08-29 03:18:25 +02:00
Kovid Goyal
cc767061cc
Linux: Fix compilation with python 3.7
...
Fixes #714
2018-07-10 18:47:05 +05:30
Kovid Goyal
df9eab279a
Implement changing the font size for individual top level (OS) windows
2018-05-27 12:37:49 +05:30
Kovid Goyal
523aadaa3b
Refactor font group handling
...
Allow kitty to manage multiple groups of fonts with different cell
sizes. Will eventually allow kitty to have different font sizes/dpi per
OSWindow
2018-05-27 12:37:05 +05:30
Kovid Goyal
2a99ef254f
Dont segfault when printing a freetype font object with a NULL postscript name
2018-05-17 19:49:31 +05:30
Kovid Goyal
aa18429a8c
DRYer
2018-04-22 21:22:08 +05:30
Kovid Goyal
9c43707f40
Make the hinting defaults zero when missing
2018-04-22 20:34:00 +05:30
Kovid Goyal
99ff92a5a7
Don't fail to start if the user deletes the hintstyle key from their fontconfig configuration. Fixes #480
2018-04-22 20:29:46 +05:30
Kovid Goyal
d866c0d202
Fix NULL return without error set
2018-04-22 20:19:21 +05:30
Kovid Goyal
ce85382c68
Revert the change to use rendered bitmap width to calculate cell width
...
Instead if the bitmap is up to two pixels wider than the cell width
simply crop on the right. Fixes #352
2018-03-30 18:54:15 +05:30
Kovid Goyal
b3b216a6dc
...
2018-03-27 12:09:18 +05:30
Kovid Goyal
431564c8bc
Linux: When calculating cell widths use the actual rendered bitmap width in addition to the horizontal advance reported by FreeType.
...
The horizontal advance is insufficient for some fonts at some point
sizes. So although rendering the characters is slower, we do it
to ensure cell width is correct. Fixes #352
2018-03-27 12:04:38 +05:30
Kovid Goyal
527255e3a1
Fix compilation with gcc 8
...
Apparently some nitwit Linux distros have made an unreleased compiler
their default compiler. Fixes #376
Fixes various new warnings that GCC 8 issues
2018-03-12 10:38:12 +05:30
Kovid Goyal
59a5e23466
Almost always resize glyphs that are too wide
...
When using FreeType, rescale glyphs that dont fit if they are more than
1px wider than the cell rather than 25% of the cell width. This matches
the behavior of CoreText and is needed for rendering the various Emoji
with default text presentation (i.e. emoji that have wcwidth() == 1)
2018-02-05 09:21:14 +05:30
Kovid Goyal
c74f4a8165
Fix extra columns cut-off from the right edge of italic characters that are too wide to fit in a cell
2018-01-28 10:06:39 +05:30