Comments (4)
I'm going to keep this separate because it's about non-displaying characters which is significantly easier to handle.
from picnic.
I pushed a branch which has some tests that are Hard™.
Going to take a break for a week or so to just think on this in my idle time. This really destroys the current mechanism by which we create the table which is a 2x2 grid of characters that is treated somewhat like pixels in a bitmap. In this new world, a cell may need 18 characters of width to visually display only 5 characters. This has implications for how alignment works (especially when a single cell spans multiple lines).
I've found that 0x200C (zero-width non-joiner) can be used as a fill character that renders to nothing if we need to pad our text bitmap, but it basically solves no real problems. It's a solution for the second problem, and I haven't solved the first. How the hell we adapt rendering to accommodate what essentially blows up our square table. It would be great to not need this character though, but that then requires measuring every line individually.
from picnic.
Closing. Updated #19 in order to include this scenario, since they can be linked to the same root of the problem
from picnic.
I took a quick stab at this today. Fixing the measurement is easy. Unfortunately, as an effect, that means the column size changes which means the text area into which the string is written becomes smaller than the actual string.
This will require larger changes to how rendering works.
from picnic.
Related Issues (20)
- Notice year wrong? HOT 1
- Remove 'data' modifier from public API HOT 1
- Support for table with external borders but no inner borders for top/bottom HOT 3
- Feature request: render an empty footer HOT 3
- 0.3.0 introduced an undocumented dependency on java8 - String. HOT 4
- Columns are messed up with unicode chars HOT 7
- Markdown links break the table HOT 2
- calling `renderText` from Java HOT 4
- support horizontal rule HOT 2
- Characters don't work on Windows HOT 6
- Support hyperlinks HOT 3
- How to use picnic in Java HOT 2
- Passing a PrintStream to renderText
- Release note extraction does not work
- Jar for 0.6.0 in maven central is missing the .class files HOT 2
- Legacy mode HOT 2
- Dependency Dashboard
- Will this work on iOS? HOT 1
- Feature request: CSV (or DSV) rendering HOT 1
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 picnic.