Comments (9)
Yes, I was a BBEdit user back in the day and it was always a solid application... But I felt they started dropping the ball a bit - particularly when they dropped support for OpenType features such as alternates and ligatures in BBEdit 13 (Rich told me that Apple removed a library they needed, but I felt that since other text editors were able to support them, why couldn't BBEdit....?)
If you display a text file in lots of apps, I wouldn't be that surprised if the only one with glitches is BBEdit. Although to be honest there's so much variability I wonder why pro font designers don't all die young...
So here are a few editors (from the top: BBEdit, SublimeText, Xcode, VSCode, and Atom) showing your file (and showing how every application draws text slightly differently):
Thanks for the well-prepared issue! But I don't think there's anything to do here.
from juliamono.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions!
from juliamono.
Thanks for the feedback. There are few bigger fans of BBEdit and Bare Bones than I, but I suppose it's possible they've overlooked something. They do tend to be pretty responsive; any chance you could contact them and see if they have a hint about this (I did file a bug report with them first, (Case 409145) Julia and Tab Spacing)? Or if I sent them a link to this issue and see if they have a suggestion?
from juliamono.
Tab spacing in BBEdit is based on a calculation of the width of a nonbreaking space. Other fonts have had issues with tab spacing as well, which their designers were happy to address.
If my recollection is correct, some fonts have had problems with the width specification of the NBSP glyph. (A common error is failing to ensure that NBSP has the same advancement as every other character in a monospaced font.) Therefore you may find it useful to look for a similar issue. (Alas, since I am not a font implementor, I regret that I am unable to speculate as to the precise nature and resolution.)
While you're at it you may find it useful to verify the correct implementation and specification of other glyphs that BBEdit uses (these are for Show Invisibles, and many of them are not often found in user-entered text):
U+00B7, // dot
U+2022, // bullet
U+2206, // delta
U+00AC, // not sign
U+00B6, // paragraph
U+007C, // vertical bar
U+00BF, // inverted question mark
from juliamono.
@siegel I'm so happy to see you reply here, and thanks for the suggestions, I'll try to investigate some time. (I still use BBEdit, of course, but it's not always the frontmost application, sorry, but....😂). I'd be delighted if it was my fault, cos I could fix it.
(But .... ligatures someday?!)
from juliamono.
I made a quick check of spaces - things look OK to me.
This screen capture reproduces the original problem in BBEdit:
It's using Apple's SF Mono font at 13point , though....
from juliamono.
I had a back and forth with Rich Siegel and sent him some videos demonstrating the problem in better detail. Here's what he says:-
Here's a quick table (the values are as reported by the debugger at the point where BBEdit is capturing the font metrics):
name-size advancement nbsp-width Hack-13 7.82666015625 7.82666015625 Inconsolata-13 6.5 6.5 JuliaMono-13 7.7999999999999998 7.8000000000000007 JuliaMono-11(*) 6.5999999999999996 6.5999999999999996 Inconsolata-11 5.5 5.5 Hack-11 6.62255859375 6.62255859375
The (*) next to JuliaMono-11 indicates the presence of the display anomaly.
I think what you're seeing is the result of accumulated rounding errors involving fractional character widths.
It's dependent not only on rendering (ATSUI still uses Fixed values for calculation, which certainly does not help) but also on the font.
I don't know how any of that stuff is supposed to work, but since there is existence proof of multiple fonts that don't have the issue, the JuliaMono author can probably look at those fonts and see if he's able to identify what they do that he doesn't (or vice versa) and make appropriate adjustments.
Here are links to a couple of QuickTime movies that demonstrate the problems I'm seeing, using different fonts within BBEdit. I think it's pretty clear that something is off within JuliaMono.
FontTest.mov.zip
FontTest2.mov.zip
from juliamono.
Thanks! You've worked so hard on this issue, I wish I had some good news. Unfortunately there are hardly any "knobs" or "switches" I can flip to change horizontal spacing. Basically, every character has a width, and working on the nonbreaking space looks like this:
😃 I'd love to be able to change something, anything, but there's nothing to change.
In the spirit of Rich's "there is existence proof of multiple fonts that don't have the issue", here's a selection of other (much better) fonts that show the same problem in BBEdit - FIraCode, IBMPlex Mono, JetBrains Mono, Operator Mono, and Source Code Pro.
So reluctantly I'd not recommend JuliaMono for use with BBEdit: "Only use BBEdit with Fonts that Don't Suck"!
I'll add a note to the documentation that it's not compatible with BBEdit.
from juliamono.
Okay, well, thanks for the info. Too bad it hasn't worked out. Sure would be interesting to know what the problem actually is, but, there you go.
from juliamono.
Related Issues (20)
- Set VendorID to corm HOT 3
- Pipe HOT 5
- ≺ (`\prec`) hard to distinguish from less-than HOT 8
- small case "r" looks wierd HOT 3
- Does not respect unicode RIGHT-TO-LEFT OVERRIDE, for some glyphs HOT 8
- Glyph shape of 2 Cyrillic Ext-C characters (U+1C81, U+1C85) HOT 2
- Unpaired parentheses in CHANGELOG.md HOT 5
- Remove v0.5.1 tag HOT 3
- Add support for `\dot (U+0307)` for numbers HOT 4
- "SS20" (splashtidy) does not work in general cases HOT 5
- Daggers too similar? HOT 3
- Combining characters with lower case j doesn't always render the combining character for some glyphs. HOT 8
- Request for 450 font weight HOT 2
- Emoji Presentation for Julia Logo HOT 6
- wedge/bigwedge and vee/bigvee too similar? HOT 2
- Mystery spacing issues HOT 7
- Interrobang glyph is incorrect HOT 7
- Possible alternate variant of small letter "l" with stylistic set? HOT 18
- Problem with CJK glyphs HOT 5
- Take down the "JuliaMono julia manual" since it pollutes google search? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from juliamono.