From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from tb-mx0.topicbox.com (localhost.local [127.0.0.1]) by tb-mx0.topicbox.com (Postfix) with ESMTP id 5A18350A6969 for <9fans@9fans.net>; Thu, 23 Jul 2020 01:27:12 -0400 (EDT) (envelope-from lucio.dere@gmail.com) Received: from tb-mx0.topicbox.com (localhost [127.0.0.1]) by tb-mx0.topicbox.com (Authentication Milter) with ESMTP id D0E128842E7; Thu, 23 Jul 2020 01:27:12 -0400 ARC-Seal: i=1; a=rsa-sha256; cv=none; d=topicbox.com; s=arcseal; t= 1595482032; b=LthBJWjsu37/8ovD0m6j9d1cWnEGPCi2hTt7m/WLkwnfHhF9b8 TI2cXobL5CwRiJOiVaHJpI2Qpn9BIvuTf9wvTgV+d9WarA/CGuUMf6F6co4csaUM vZNUJSdWOBsuIrCaaiL1wq8zYdUreuWkzigbx39wADd72wvEPxwUOPkLi0tw1v8q rpzBHWzEpx/LyBUEZl5UEABX+hAaEEcTmxp007rB4FYsfHCRo84Z/WcgOWaUiWbA 0mT4L1ufvAKgYIbfHMbVJzLMCnvSkbmoIq2lhP5RcP+PI1UU0Cn3qGEQCoh3oosW eI4aM/lTMsF7EEMJhgdZYnXqS8vRQCKbeJvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= topicbox.com; h=mime-version:in-reply-to:references:from:date :message-id:subject:to:content-type:content-transfer-encoding; s=arcseal; t=1595482032; bh=Wk+xTyraSFZxFTbjSlEwa2xWtS9oetN2pep pjKh63nc=; b=GKhc/3cDKVE1Z+7ID7l7Z6ZzgpUQlybyXIXaG96cubQmKc9KRxR naeRV0zDCxC0h2d9/XKQf5RnvbPudmtn/Mpwf9ltrK5G4LauINiI9vCsf2jwveKk tTY7iGQ88/ZE+3rpg1jPWNnM5GuvItiRX4qb/feNDYLcA35R76dYevzKZsriURY2 ByFw7xEnF4Qaru7UMgdYPR83E3Txbf14UA92x+EYGLi4t2iUfDOH3mPHXojIsf8F 9GqbMDmuUgI4fqtxxvkabMciKu1iS5Ib6oJtKjz2J8cMbc1ecOTIdm7CQX3CY3GZ 1BqS5Qw06xZ9Y+DHsYhmYgkiPz+P9OlnBtA== ARC-Authentication-Results: i=1; tb-mx0.topicbox.com; arc=none (no signatures found); bimi=none (Domain is not BIMI enabled); dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=oZCMPMDA header.a=rsa-sha256 header.s=20161025 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; iprev=pass smtp.remote-ip=209.85.208.180 (mail-lj1-f180.google.com); spf=pass smtp.mailfrom=lucio.dere@gmail.com smtp.helo=mail-lj1-f180.google.com; x-aligned-from=pass (Address match); x-google-dkim=pass (2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=F36Z2FSb; x-ptr=pass smtp.helo=mail-lj1-f180.google.com policy.ptr=mail-lj1-f180.google.com; x-return-mx=pass header.domain=gmail.com policy.is_org=yes (MX Records found: alt1.gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com); x-return-mx=pass smtp.domain=gmail.com policy.is_org=yes (MX Records found: alt1.gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=0 state=0 Authentication-Results: tb-mx0.topicbox.com; arc=none (no signatures found); bimi=none (Domain is not BIMI enabled); dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=oZCMPMDA header.a=rsa-sha256 header.s=20161025 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; iprev=pass smtp.remote-ip=209.85.208.180 (mail-lj1-f180.google.com); spf=pass smtp.mailfrom=lucio.dere@gmail.com smtp.helo=mail-lj1-f180.google.com; x-aligned-from=pass (Address match); x-google-dkim=pass (2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=F36Z2FSb; x-ptr=pass smtp.helo=mail-lj1-f180.google.com policy.ptr=mail-lj1-f180.google.com; x-return-mx=pass header.domain=gmail.com policy.is_org=yes (MX Records found: alt1.gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com); x-return-mx=pass smtp.domain=gmail.com policy.is_org=yes (MX Records found: alt1.gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=0 state=0 X-ME-VSCause: gggruggvucftvghtrhhoucdtuddrgeduiedrhedtgdelkecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdpuffr tefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecunecujfgurhepjghfhfffkf fuvfgtgfesthhqredttddtjeenucfhrhhomhepnfhutghiohcuffgvucftvgcuoehluhgt ihhordguvghrvgesghhmrghilhdrtghomheqnecuggftrfgrthhtvghrnhepjefgffeite evhffgfeeiiedtueejffeujeffgfffiedtkefhledvleevuefhveeknecukfhppedvtdel rdekhedrvddtkedrudektdenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepih hnvghtpedvtdelrdekhedrvddtkedrudektddphhgvlhhopehmrghilhdqlhhjuddqfhdu kedtrdhgohhoghhlvgdrtghomhdpmhgrihhlfhhrohhmpeeolhhutghiohdruggvrhgvse hgmhgrihhlrdgtohhmqecuuffkkgfgpeehfeeftd X-ME-VSScore: 0 X-ME-VSCategory: clean Received-SPF: pass (gmail.com ... _spf.google.com: Sender is authorized to use 'lucio.dere@gmail.com' in 'mfrom' identity (mechanism 'include:_netblocks.google.com' matched)) receiver=tb-mx0.topicbox.com; identity=mailfrom; envelope-from="lucio.dere@gmail.com"; helo=mail-lj1-f180.google.com; client-ip=209.85.208.180 Received: from mail-lj1-f180.google.com (mail-lj1-f180.google.com [209.85.208.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tb-mx0.topicbox.com (Postfix) with ESMTPS for <9fans@9fans.net>; Thu, 23 Jul 2020 01:27:11 -0400 (EDT) (envelope-from lucio.dere@gmail.com) Received: by mail-lj1-f180.google.com with SMTP id q4so5020257lji.2 for <9fans@9fans.net>; Wed, 22 Jul 2020 22:27:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-transfer-encoding; bh=Wk+xTyraSFZxFTbjSlEwa2xWtS9oetN2peppjKh63nc=; b=oZCMPMDAzUTOVtE/xCIBDY7ukqR2hB6bfX60chm+hX8lqrPEFj7fk5y4c/mnjvcz4c MwoGrLtLRS+2jOh+JVfBw1fegpCm4yXOukuTk4v4RgjMImedI4u7mCxO7w9l7hS0CJOM yY0BipY3VAKWyERg1XsEeMwapPsiH8E7wPNISfR6/8mjLYlW3UW/Vo3kH03yuzADDWsE n+cI2scWzTu8mRh0ZycXvv3G7KKX5U0zSL9PYC4/ScMKJI+sm2MOXYq6xklePTK+wPv1 CqCVxHbW+73QUD1mxRciYh6kwXVD76GLdfJEQPBmSvLt9DaXs/0nr4pEdJZT0/WOgwIO KPxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:content-transfer-encoding; bh=Wk+xTyraSFZxFTbjSlEwa2xWtS9oetN2peppjKh63nc=; b=F36Z2FSbAbPoMYwkP5lly9pobi/Zzv1QUYM2gReuYdcfzOK0qSfHocO1ByQcqaUGmQ f3J8OCaZ8nN86WYsWI9h74CbRC391a3wS7MqdLhDspXYr46VU3oS10kaBWOrijIZPoDj NXXKlbu34t1EPRl+DyTPEAF6t++mj637W8te1Jf4e4+0/CfjFBRsZjaf0eQ2PwGUlXuS FVgx0IPApg0S68QhofYei0OaLJERTF1Tjr26ezGahkJywjHHrmD8BQKveFpygfPpVfRV wToaha8nvVInp/k6YeV8ja9b237nNbxQDciwE9tTD03XHO7MTakBt+Tnb0kOInd6bxHL +beQ== X-Gm-Message-State: AOAM531ED/PBJ3ck11c66m9XLQF44mloVDqR1EyoJ5jyfSBb+o0u8Rwc z0BVCAS2/gi5IMst5lmkYemoUwddmapkn5B/HGrSTayo X-Google-Smtp-Source: ABdhPJx0HkAmZv2a6/DmINyma2om/AKrTjgXOB8+kr+/ZAKtN1KEsbTsuqL2dyufn11/uw0IKEX3VfXWyLXXjDaoyMw= X-Received: by 2002:a2e:88c6:: with SMTP id a6mr1171612ljk.27.1595482029640; Wed, 22 Jul 2020 22:27:09 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a2e:1450:0:0:0:0:0 with HTTP; Wed, 22 Jul 2020 22:27:08 -0700 (PDT) In-Reply-To: References: <20200721232152.GA157357@alice> From: Lucio De Re Date: Thu, 23 Jul 2020 07:27:08 +0200 Message-ID: Subject: Re: [9fans] Acme fonts To: 9fans <9fans@9fans.net> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Topicbox-Policy-Reasoning: allow: sender is a member Topicbox-Message-UUID: 2be777d0-cca5-11ea-8cc0-e3cd80e79bf2 On 7/22/20, Russ Cox wrote: > On Tue, Jul 21, 2020 at 7:22 PM Anthony Martin wrote: > >> Russ, what did you do to that poor little Acme?! =E2=98=BA >> >> Did you take the less daunting route using >> >> - a combined font file with shapes for normal, italic, bold, etc. and >> - a filter to offset runes into "planes" for each font shape? >> > > Yes, that's what I did. Completely awful - the text being displayed isn't > usable as text. You can tell because when I double-click on the modified > text acme doesn't know where the word boundaries are and ends up > highlighting across punctuation that it normally wouldn't. Remembering a discussion on 9fans where I suggested that capital letters ought to be a different font, not a unique glyph (Russian, for example, I believe just changes the font size, which we know is a different font), I think Russ's is an excellent solution, given those 8 bits between 24 and 32 that one can abuse for the purpose. It does mean that acme needs some way to extend its grasp of delimiters into the extended fonts. Solving that without resorting to a total separation between input and rendering, would be a winner, but I am not competent enough to know if it is even remotely possible. Incidentally, I opted for a tag line that looks like this: "... Snarf Undo Put |Fmt |q |f78 look |b |e Font" where I use "b" and "e" /bin commands to generate time stamps in my "notepad" document. The details don't seem worth going into, "q", if I remember right, is straight out of Russ's $home/bin/rc from years back (with "g" which I have yet to enhance correctly to work on ".go" directories). I got my inspiration remembering that a friend and colleague (Windows user) adopted single letter command for all sorts of shortcuts he memorised and even changed in different contexts. The temptation to add a vertical edge to each acme window with a single letter in little blocks - lower case and possibly capitals - is only resisted by my reluctance to tackle a task I may not be sufficiently competent to complete. And for other ".go" developers, how many of you have found renaming a module from ".go" to ".no" a practical approach to get it, temporarily, perhaps, out of the way of the compiler? Lucio. PS: Sorry about the off-topic diversion. I do happen to be marvelling over fonts among many other distractions from my day job. I still don't quite have a proper understanding, so I get odd results when I try to do anything creative, but not everything is a failure, thankfully. PPS: Like Forsyth, I like the io/fs idea. I like "generics" a lot less, and I find go modules (sorry, Russ) quite incomprehensible .