Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Standardize layout constraints for operator stretching #138

Open
fred-wang opened this issue Sep 9, 2019 · 2 comments
Open

Standardize layout constraints for operator stretching #138

fred-wang opened this issue Sep 9, 2019 · 2 comments

Comments

@fred-wang
Copy link
Contributor

cc @bfgeek

I'm opening this for the record. This is described in https://mathml-refresh.github.io/mathml-core/#dfn-inline-stretch-size-constraint and used elsewhere in the MathML core specification.

Ideally, we should define them in the CSS layout API as three new double values:
https://drafts.css-houdini.org/css-layout-api/#layout-constraints

That way, if people write their own custom MathML layout (e.g. a custom mo operator relying on variable fonts or an mrow-like custom layout stretching its children) they could still receive / pass the layout constraints from their parent / to their childen.

As I said for other CSS features, this is still very hypothetical since math polyfills don't use modern techniques yet. So it makes sense to postpone this for now.

@fred-wang
Copy link
Contributor Author

They should probably have "Target" in their names to clarify that this is a target size, operators generally stretch to the smallest available size above that target and may even fail to stretch at all ; this depends on what is provided by the font.

@fred-wang
Copy link
Contributor Author

I'm removing this "MathML 4" label. Although this is something interesting to rely on in order to implement for MathML full, the actual low-level details would be in MathML Core or houdini specs instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants