<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: be5invis</title><link>https://news.ycombinator.com/user?id=be5invis</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 17 Apr 2026 08:15:42 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=be5invis" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by be5invis in "Text Editing Hates You Too"]]></title><description><![CDATA[
<p>The story about line wrapping is mainly that, you:<p><pre><code>  · Break the text into runs.
  · Calculate BiDi at paragraph level.
  · Shape every run to get its length and possible line breaking points.
  · Arrange the runs (now only have length, height, text isnide it and some breaking properties — glyphs and glyph positions are dropped) into lines.
</code></pre>
Such process is called “measuring”. And the real text display is delayed until a line become visible: you fetch out the text runs in the line and do the real display.<p>In most times (like appending text) you do not to do much recalculation.</p>
]]></description><pubDate>Tue, 29 Oct 2019 07:49:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=21384939</link><dc:creator>be5invis</dc:creator><comments>https://news.ycombinator.com/item?id=21384939</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21384939</guid></item><item><title><![CDATA[New comment by be5invis in "Text Editing Hates You Too"]]></title><description><![CDATA[
<p>Let me count all the features that a proper rich text box should support:<p><pre><code>  · Input methods, including...  
    · Composing IME  
    · Speech  
    · Handwriting  
    · Emoji picker  
  · Complex text rendering, including...  
    · Bidi  
    · Shaping  
    · Complex-script-aware editing  
    · Complex-script-aware find, replace, etc.  
  · Accessibility
</code></pre>
And what they can choose to support:<p><pre><code>  · Advanced typography, including...  
    · About line breaking...  
      · Hyphenation  
      · Optimized line break (Knuth-plass, etc.)  
    · About microtypography  
      · OpenType features (ligatures, etc.)  
      · OpenType variations  
      · Multiple master fonts  
      · Proper font fallback ← It is not a simple lookup-at-each-character process  
    · Advanced Middle East features, including...  
      · Kashida  
    · Advanced Far East features, including...  
      · Kinsoku Shori  
      · Auto space insertion  
      · Kumimoji  
      · Warichu  
      · Ruby  
    · Proper vertical layout, including...  
      · Yoko-in-Tate  
  · Inline objects and paragraph-like objects, including...  
    · Images  
    · Hyperlinks  
    · Math equations ← This is really hard.</code></pre></p>
]]></description><pubDate>Tue, 29 Oct 2019 07:21:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=21384835</link><dc:creator>be5invis</dc:creator><comments>https://news.ycombinator.com/item?id=21384835</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21384835</guid></item><item><title><![CDATA[New comment by be5invis in "Build Your Own Text Editor"]]></title><description><![CDATA[
<p>I don't see any references to things like HarfBuzz or DWRITE, which are <i></i>NECESSARY<i></i> to properly display any scripts that's not European.
All properly implemented text editors are rich text — because you will need to support font fallback and BiDi and all the Unicode complexity</p>
]]></description><pubDate>Sun, 04 Aug 2019 11:48:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=20605905</link><dc:creator>be5invis</dc:creator><comments>https://news.ycombinator.com/item?id=20605905</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20605905</guid></item><item><title><![CDATA[New comment by be5invis in "Microsoft’s HoloLens 2: a $3,500 mixed-reality headset for the factory"]]></title><description><![CDATA[
<p>DWRITE is very extensible so you can always implement an IDWriteTextRenderer and do all the magic staff in it.<p>Link: <a href="https://docs.microsoft.com/en-us/windows/desktop/directwrite/how-to-implement-a-custom-text-renderer" rel="nofollow">https://docs.microsoft.com/en-us/windows/desktop/directwrite...</a></p>
]]></description><pubDate>Wed, 27 Feb 2019 04:39:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=19260908</link><dc:creator>be5invis</dc:creator><comments>https://news.ycombinator.com/item?id=19260908</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19260908</guid></item><item><title><![CDATA[New comment by be5invis in "Slate JS – A customizable framework for building rich text editors"]]></title><description><![CDATA[
<p>Rich text editors' complexity is far beyond ordinary programmer's imagination, especially when complex script (like Arabic) is in it.<p>It is really good to see they have RTL support.<p>-- However they messed up when using composing IMEs :(</p>
]]></description><pubDate>Thu, 15 Nov 2018 07:30:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=18457527</link><dc:creator>be5invis</dc:creator><comments>https://news.ycombinator.com/item?id=18457527</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=18457527</guid></item><item><title><![CDATA[New comment by be5invis in "Microsoft Has Manually Patched Their Equation Editor Executable"]]></title><description><![CDATA[
<p>You have to know that the MSFT may not have the source code of Equation Editor, since it is a simplified version of MathType.</p>
]]></description><pubDate>Fri, 17 Nov 2017 12:49:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=15721548</link><dc:creator>be5invis</dc:creator><comments>https://news.ycombinator.com/item?id=15721548</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15721548</guid></item><item><title><![CDATA[New comment by be5invis in "Show HN: Mathcha – Online Mathematics Editor"]]></title><description><![CDATA[
<p>The website works well in Edge but you claimed that it does not support that. I have to override the user agent in order to access your editor.</p>
]]></description><pubDate>Mon, 14 Aug 2017 06:36:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=15006926</link><dc:creator>be5invis</dc:creator><comments>https://news.ycombinator.com/item?id=15006926</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15006926</guid></item><item><title><![CDATA[New comment by be5invis in "Show HN: Mathcha – Online Mathematics Editor"]]></title><description><![CDATA[
<p>I guess you (or your company) does not have any Windows PC.</p>
]]></description><pubDate>Sun, 13 Aug 2017 15:12:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=15003204</link><dc:creator>be5invis</dc:creator><comments>https://news.ycombinator.com/item?id=15003204</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15003204</guid></item><item><title><![CDATA[New comment by be5invis in "Luna – Visual and textual functional programming language"]]></title><description><![CDATA[
<p>You say you have dependent types<p>OK, could you define this?<p><pre><code>    data Eq : {a : Type} -> a -> a -> Type where
        Refl : Eq x x

    sym : {x : a} -> {y : a} -> Eq x y -> Eq y x
    sym Refl = Refl

    replace : {a : Type} -> {x : a} -> {y : a} -> {f : a -> Type} -> Eq x y -> f x -> f y
    replace Refl p = p</code></pre></p>
]]></description><pubDate>Fri, 23 Jun 2017 08:24:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=14617734</link><dc:creator>be5invis</dc:creator><comments>https://news.ycombinator.com/item?id=14617734</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14617734</guid></item><item><title><![CDATA[Request: Add a UTF-8 Mode for MSVCRT Functions and WINAPI]]></title><description><![CDATA[
<p>Article URL: <a href="https://aka.ms/V1j1z8">https://aka.ms/V1j1z8</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=14520281">https://news.ycombinator.com/item?id=14520281</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 09 Jun 2017 09:47:23 +0000</pubDate><link>https://aka.ms/V1j1z8</link><dc:creator>be5invis</dc:creator><comments>https://news.ycombinator.com/item?id=14520281</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14520281</guid></item><item><title><![CDATA[New comment by be5invis in "Forall.js: Idris-like static types and invariant checks for JavaScript"]]></title><description><![CDATA[
<p>So where is the famous Idris elaborator?
Where are the universes?
Where’s inductive types?
Where are they?</p>
]]></description><pubDate>Sat, 22 Apr 2017 10:38:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=14171907</link><dc:creator>be5invis</dc:creator><comments>https://news.ycombinator.com/item?id=14171907</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14171907</guid></item><item><title><![CDATA[New comment by be5invis in "TypeScript at Slack"]]></title><description><![CDATA[
<p>Wait, isn’t using TypeScript politically incorrect? It is made by MS!!</p>
]]></description><pubDate>Tue, 18 Apr 2017 08:52:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=14137317</link><dc:creator>be5invis</dc:creator><comments>https://news.ycombinator.com/item?id=14137317</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14137317</guid></item><item><title><![CDATA[LambdaConf Project: DeepDarkFantasy, Conbining FP and Deep Learning]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/ThoughtWorksInc/DeepDarkFantasy">https://github.com/ThoughtWorksInc/DeepDarkFantasy</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=14039946">https://news.ycombinator.com/item?id=14039946</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 05 Apr 2017 05:40:03 +0000</pubDate><link>https://github.com/ThoughtWorksInc/DeepDarkFantasy</link><dc:creator>be5invis</dc:creator><comments>https://news.ycombinator.com/item?id=14039946</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14039946</guid></item><item><title><![CDATA[New comment by be5invis in "Iosevka – A Typeface for Code, from Code"]]></title><description><![CDATA[
<p>Your version is outdated.</p>
]]></description><pubDate>Sat, 01 Apr 2017 19:40:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=14013756</link><dc:creator>be5invis</dc:creator><comments>https://news.ycombinator.com/item?id=14013756</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14013756</guid></item><item><title><![CDATA[New comment by be5invis in "Iosevka – A Typeface for Code, from Code"]]></title><description><![CDATA[
<p>Leading and width is configurable, actually :)</p>
]]></description><pubDate>Sat, 01 Apr 2017 06:04:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=14010762</link><dc:creator>be5invis</dc:creator><comments>https://news.ycombinator.com/item?id=14010762</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14010762</guid></item><item><title><![CDATA[New comment by be5invis in "Iosevka – A Typeface for Code, from Code"]]></title><description><![CDATA[
<p>Iosevka does not have `fi` ligature.
The "Term" variant is used for some restricted environments, like some Linux would think that Iosevka is not monospace due to it has glyphs wider than one space.</p>
]]></description><pubDate>Sat, 01 Apr 2017 05:37:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=14010666</link><dc:creator>be5invis</dc:creator><comments>https://news.ycombinator.com/item?id=14010666</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14010666</guid></item><item><title><![CDATA[New comment by be5invis in "Iosevka – A Typeface for Code, from Code"]]></title><description><![CDATA[
<p>To be honest, Iosevka is not suitable for the <i></i>current<i></i> VF specification, because that it does not support changing glyph topology while changing parameters.</p>
]]></description><pubDate>Sat, 01 Apr 2017 05:08:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=14010549</link><dc:creator>be5invis</dc:creator><comments>https://news.ycombinator.com/item?id=14010549</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14010549</guid></item><item><title><![CDATA[New comment by be5invis in "Iosevka – A Typeface for Code, from Code"]]></title><description><![CDATA[
<p>Do you know that all letters in Iosevka are EXACTLY 1/2 em wide?<p>For ASIAN users, you can use THIS and preserve your perfect alignment.</p>
]]></description><pubDate>Sat, 01 Apr 2017 04:49:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=14010494</link><dc:creator>be5invis</dc:creator><comments>https://news.ycombinator.com/item?id=14010494</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14010494</guid></item><item><title><![CDATA[New comment by be5invis in "Second Chinese Firm in a Week Found Hiding Backdoor in Android Devices"]]></title><description><![CDATA[
<p>I think Hanlon's Razor can be applied to this example: They just do not think that encryption is important.
It is real for Chinese companies.</p>
]]></description><pubDate>Sun, 20 Nov 2016 21:27:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=13001337</link><dc:creator>be5invis</dc:creator><comments>https://news.ycombinator.com/item?id=13001337</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13001337</guid></item><item><title><![CDATA[New comment by be5invis in "Visual Studio 2017 Release Candidate"]]></title><description><![CDATA[
<p>So, when will cl support two-phase name lookup?</p>
]]></description><pubDate>Wed, 16 Nov 2016 22:40:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=12972281</link><dc:creator>be5invis</dc:creator><comments>https://news.ycombinator.com/item?id=12972281</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12972281</guid></item></channel></rss>