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

Allow optionally compiling with no_std #30

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

nshp
Copy link

@nshp nshp commented Sep 30, 2018

This is the first time I've messed with conditional no_std, so I'm sure there are cleaner ways to get some of this stuff. Very open to suggestions - I'd like to try using this myself.

I only learned after writing this that there's a no_std-safe math crate which provides safe floating point wrappers, so it might be worth pulling that in to get rid of all these unsafe intrinsics calls.

I also changed the font "tables" structure from a HashMap to a BTreeMap simply because BTreeMap exists in alloc. I wonder, though, if the map structure is needed at all. It looks like it's not actually used outside of the parse constructor, so perhaps that for-loop should just be rewritten to find and set aside each table as it goes?

@nshp
Copy link
Author

nshp commented Oct 1, 2018

Heh, forgot I can't use features outside of nightly as well. Working on that.

@nshp
Copy link
Author

nshp commented Oct 1, 2018

This should now build on stable Rust with std, but no_std requires nightly feature-gated things.

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

Successfully merging this pull request may close these issues.

1 participant