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

Add 79 math glyphs to Roman masters 0 and 2 #213

Closed
wants to merge 1 commit into from

Conversation

tspiteri
Copy link

I would like to have a few more math glyphs, some of which are listed in #49, and I had a go at drawing them. I'm not a font designer, so I only did glyphs I think are relatively straightforward or are very similar to some other existing glyphs. (For example I also kinda wanted to do U+2205 ∅, but found it too challenging, and {U+2208 ∈, U+2209 ∉, U+220B ∋, U+220C ∌}, but did not have a suitable starting point like I had U+2229 ∩ for U+222A and U+2282 to U+2289.)

I used fontforge and exported to .ufo, then merged the exported output by hand to the original .ufo as fontforge seems to not like the .fea files in the original .ufo. I've done the extralight (master 0) glyphs for the below codepoints, and before going on to black (master 2), I'd like to know if these are of sufficient quality, otherwise I'd be just wasting everybody's time.

U+2204 ∄ notexistential
U+2210 ∐ coproduct
U+222A ∪ union
U+2234 ∴ therefore
U+2235 ∵ because
U+2236 ∶ ratio
U+223C ∼ similar
U+223D ∽ reversedtilde
U+2254 ≔ colonequal
U+2255 ≕ equalcolon
U+2262 ≢ notidentical
U+226A ≪ muchless
U+226B ≫ muchgreater
U+226E ≮ notless
U+226F ≯ notgreater
U+2270 ≰ notlessequal
U+2271 ≱ notgreaterequal
U+2282 ⊂ propersubset
U+2283 ⊃ propersuperset
U+2284 ⊄ notsubset
U+2285 ⊅ notsuperset
U+2286 ⊆ reflexsubset
U+2287 ⊇ reflexsuperset
U+2288 ⊈ notreflexsubset
U+2289 ⊉ notreflexsubset

@tspiteri
Copy link
Author

I went ahead and did black variants (master 2) as well. I did the editing mostly in a text editor to maintain the same point order, using fontforge mainly for visual inspection.

@tspiteri tspiteri changed the title Add 25 math glyphs to master 0 Add 25 math glyphs to Roman masters 0 and 2 Jan 13, 2019
@tspiteri
Copy link
Author

I have a comment about operator alignments. I vertically aligned therefore U+2234, because U+2235, and ratio U+2236 with proportion U+2237 as they seem to be a similar group. However, unlike other operators such as minus and equals, the center of proportion is not (300, 330).

For extra light master 0, proportion is centered at (300, 329), as period is centered at y=(104−12)/2=46, colon is centered at y=46+386/2=239, and proportion is centered at y=239+90=329.

For black master 2, proportion is centered at (300, 333), as period is centered at y=(248−12)/2=118, colon is centered at y=118+310/2=273, and proportion is centered at y=273+60=333.

@tspiteri tspiteri force-pushed the 25-math-glyphs branch 3 times, most recently from 4aa7741 to 3437896 Compare January 18, 2019 01:19
@tspiteri tspiteri changed the title Add 25 math glyphs to Roman masters 0 and 2 Add 79 math glyphs to Roman masters 0 and 2 Jan 18, 2019
@tspiteri
Copy link
Author

Here is a pdf with a table containing all added chars.
math_chars.pdf

@miguelsousa
Copy link
Member

Thanks Trevor, @pauldhunt will have a look at it soon.

@astrolemonade
Copy link

I would like these math glyphs too to be added to the font!

@glanchow
Copy link

glanchow commented Feb 6, 2021

Yes, please merge

@newking5811
Copy link

Life Time

@newking5811
Copy link

Life Time race

@pauldhunt
Copy link
Contributor

I will look at merging this into the project when I pick this back up later this year. Sorry for the long delay.

@ifeegoo
Copy link

ifeegoo commented May 3, 2021

@tspiteri Thank you for you contribution, can you deal with the merge conflicts?

U+21D4 ⇔ arrowdblboth
U+21D5 ⇕ arrowdbllongbothv
U+2204 ∄ notexistential
U+2205 ∅ emptyset
U+2207 ∇ nabla
U+2208 ∈ element
U+2209 ∉ notelement
U+220B ∋ owner
U+220C ∌ notowner
U+2210 ∐ coproduct
U+2213 ∓ minusplus
U+2217 ∗ asteriskmath
U+2218 ∘ uni2218
U+221B ∛ cuberoot
U+221C ∜ fourthroot
U+2227 ∧ logicaland
U+2228 ∨ logicalor
U+222A ∪ union
U+2234 ∴ therefore
U+2235 ∵ because
U+2236 ∶ ratio
U+223C ∼ similar
U+223D ∽ reversedtilde
U+2240 ≀ wreathproduct
U+2241 ≁ notsimilar
U+2242 ≂ minustilde
U+2243 ≃ asymptequal
U+2244 ≄ notasymptequal
U+2245 ≅ congruent
U+2246 ≆ approxnotequal
U+2247 ≇ notapproxequal
U+2249 ≉ notalmostequal
U+224A ≊ almostorequal
U+224B ≋ tildetrpl
U+224C ≌ allequal
U+2254 ≔ colonequal
U+2255 ≕ equalcolon
U+2262 ≢ notidentical
U+226A ≪ muchless
U+226B ≫ muchgreater
U+226E ≮ notless
U+226F ≯ notgreater
U+2270 ≰ notlessequal
U+2271 ≱ notgreaterequal
U+2272 ≲ lessequivlnt
U+2273 ≳ greaterequivlnt
U+2274 ≴ notlessequivlnt
U+2275 ≵ notgreaterequivlnt
U+2282 ⊂ propersubset
U+2283 ⊃ propersuperset
U+2284 ⊄ notsubset
U+2285 ⊅ notsuperset
U+2286 ⊆ reflexsubset
U+2287 ⊇ reflexsuperset
U+2288 ⊈ notreflexsubset
U+2289 ⊉ notreflexsuperset
U+228A ⊊ subsetnotequal
U+228B ⊋ supersetnotequal
U+22BB ⊻ xor
U+22BC ⊼ nand
U+22BD ⊽ nor
U+22C5 ⋅ dotmath
U+22CD ⋍ revasymptequal
U+22EE ⋮ ellipsisvertical
U+22EF ⋯ midhorizellipsis
U+22F0 ⋰ upslopeellipsis
U+22F1 ⋱ downslopeellipsis
U+27E8 ⟨ uni27E8
U+27E9 ⟩ uni27E9
U+27F5 ⟵ uni27F5
U+27F6 ⟶ uni27F6
U+27F7 ⟷ uni27F7
U+27F8 ⟸ uni27F8
U+27F9 ⟹ uni27F9
U+27FA ⟺ uni27FA
U+2A5C ⩜ uni2A5C
U+2A5D ⩝ uni2A5D
U+2A5F ⩟ uni2A5F
U+1F12F 🄯 uni1F12F
@tspiteri
Copy link
Author

tspiteri commented May 6, 2021

@ifeegoo I don't think the merge conflicts themselves were an issue to the font developers, but I rebased anyway.

@pauldhunt
Copy link
Contributor

pauldhunt commented May 18, 2021

@tspiteri i have enlarged the math glyphs for the next release of Source Code. So instead of merging this branch, I will redraw the characters at the new math glyphs size. I am also including the glyphs you listed as too challenging to draw yourself

  • U+2205 ∅, emptyset
  • U+2208 ∈, element
  • U+2209 ∉, notelement
  • U+220B ∋, suchthat
  • U+220C ∌, notcontains

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.

7 participants