From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/107147 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Gerben Wierda Newsgroups: gmane.comp.tex.context Subject: followtext, lmt_followtext and an offset of the glyphs typeset along the path Date: Fri, 1 May 2020 10:26:26 +0200 Message-ID: Reply-To: mailing list for ConTeXt users Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.14\)) Content-Type: multipart/mixed; boundary="===============8915816416525511614==" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="49434"; mail-complaints-to="usenet@ciao.gmane.io" To: mailing list for ConTeXt users Original-X-From: ntg-context-bounces@ntg.nl Fri May 01 10:26:53 2020 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane-mx.org Original-Received: from zapf.boekplan.nl ([5.39.185.232] helo=zapf.ntg.nl) by ciao.gmane.io with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jUR0X-000ClT-1E for gctc-ntg-context-518@m.gmane-mx.org; Fri, 01 May 2020 10:26:53 +0200 Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id F043D12EF; Fri, 1 May 2020 10:26:30 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at zapf.boekplan.nl Original-Received: from zapf.ntg.nl ([127.0.0.1]) by localhost (zapf.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id t7gKGxKnMahy; Fri, 1 May 2020 10:26:29 +0200 (CEST) Original-Received: from zapf.ntg.nl (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 20F8E132E; Fri, 1 May 2020 10:26:29 +0200 (CEST) Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 8EE6312EA for ; Fri, 1 May 2020 10:26:27 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at zapf.boekplan.nl Original-Received: from zapf.ntg.nl ([127.0.0.1]) by localhost (zapf.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2iYNy_hl6Txv for ; Fri, 1 May 2020 10:26:27 +0200 (CEST) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=213.125.118.53; helo=mail.rna.nl; envelope-from=gerben.wierda@rna.nl; receiver= Original-Received: from mail.rna.nl (mail.rna.nl [213.125.118.53]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by zapf.ntg.nl (Postfix) with ESMTPS id E8EE511F9 for ; Fri, 1 May 2020 10:26:26 +0200 (CEST) Original-Received: from hermione.rna.nl (hermione.rna.nl [192.168.2.86]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.rna.nl (Postfix) with ESMTPSA id 904333DF65F7 for ; Fri, 1 May 2020 10:26:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rna.nl; s=dkim_rsa2048; t=1588321586; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=XNJrBbpW2D75tWGhhW3uDFfXsc8zNupzeTLEdShay4U=; b=Z4QlLtaTIYlmFkkh3i6IT+Ag51xN+U004+/SKZ9Shjj8Y8s7wyz/rXD9Nw9nXpDaLkPPhm 0OQch/WQ3Bx449kOtkfNc3qFmXI9lHXv0A6cBWYvRH+6HF17EXJBkHOVPwdAE8W/kaIwon 3HwKyPjmYSaddGk255iBLuNtmJNUFuWZgPflf3N8Ba4qcXnhrhiyTAXeY2EFQlJQMZ94KN JAG2z8qcuwN8s+6rkg58YC/WUFWang89rvvPCLoZh3+Yz3dT1oJu+WWzvkXi+KigJwHSNh DQC/i2YOcHeVudtocj6IMue0w2LsJWfE8ZuBOwSFSXJIy0m5DnzucUgUAkAMJQ== X-Mailer: Apple Mail (2.3445.104.14) X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.26 Precedence: list List-Id: mailing list for ConTeXt users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ntg-context-bounces@ntg.nl Original-Sender: "ntg-context" Xref: news.gmane.io gmane.comp.tex.context:107147 Archived-At: --===============8915816416525511614== Content-Type: multipart/alternative; boundary="Apple-Mail=_78A72EC3-0751-4F75-8BDA-D4F98D47C4CB" --Apple-Mail=_78A72EC3-0751-4F75-8BDA-D4F98D47C4CB Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii I have been looking at lmt_followtext and followtext to get typesetting = done along a path. That works fine, except that in my case, I need the = text to not be exactly on that path, I need it to hover slightly above = tor below he path. Given that the path may have an unpredictable form, = that means that all the glyphs need to be shifted a bit, there is no = generic transfrom of the entire text string that will work, It should look a bit like this: Could I for instance change a TeX snippet to shift all the glyphs = (individually) up a bit before handing it to followtext(), that would be = a non-intelligent way of going about it (as it would of course also = stretch/shrink the space between the glyphs when a bend is rounded, but = I can live with that for now) G= --Apple-Mail=_78A72EC3-0751-4F75-8BDA-D4F98D47C4CB Content-Type: multipart/mixed; boundary="Apple-Mail=_61566109-2FA9-4ECB-ABDD-F42FA6A3D3F7" --Apple-Mail=_61566109-2FA9-4ECB-ABDD-F42FA6A3D3F7 Content-Transfer-Encoding: 7bit Content-Type: text/html; charset=us-ascii
I have been looking at lmt_followtext and followtext to get typesetting done along a path. That works fine, except that in my case, I need the text to not be exactly on that path, I need it to hover slightly above tor below he path. Given that the path may have an unpredictable form, that means that all the glyphs need to be shifted a bit, there is no generic transfrom of the entire text string that will work,

It should look a bit like this:

--Apple-Mail=_61566109-2FA9-4ECB-ABDD-F42FA6A3D3F7 Content-Disposition: inline; filename=PastedGraphic-5.pdf Content-Type: application/pdf; x-unix-mode=0644; name="PastedGraphic-5.pdf" Content-Transfer-Encoding: base64 JVBERi0xLjMKJcTl8uXrp/Og0MTGCjQgMCBvYmoKPDwgL0xlbmd0aCA1IDAgUiAvRmlsdGVyIC9G bGF0ZURlY29kZSA+PgpzdHJlYW0KeAGFVk2LHUcMvO+v6D/wOvpsSRBySMglN5OF3GPsg8EB55K/ n1LPPvvtLMyyLOiNZrqrS1VSfxsfxrdB+OOg6bFicNHkDBv/fhp/jX8GHo//Bo8/8P8FL/PxOp6L VZV+D54+ft2pr0Nj1lJaQ2wmucrwmkuW5Vg5WYV9+JqrpAazTk3P8XG4zEVJAixrapU/Mdkkx2dc OSl4/Xi98VJk4DuWNZMda0nNyNTB5rPIfBTPxSxY6f76fd+P48/j7DMtQxc4mC6ZvNa43UPHw512 8EI+TbDmjW0qcUgf+NdnQJrlznHwcv8RMYM5GIcJHJl8PH8dP/2G3+P58/iZSD/9Mp6/jN+fG8YT zVKVAO001YstN4x7eE/rwDkK1Bpg5LSsAgMXMNKnqDSnCSqWyNMJhvMDDGxe2Jul2QDosKBmY4fQ xpGm8l1ZdgrAgBB0pV6yAU1pOA6fOlHsPJMR8oACZGRJkOGQNM1pKUN1RwRVvaQV6ZAJjaA6a00W EcjoggwmaT1CKGngbumZjFcwsM9yF6oNI9zNushzR9JRp7HmuEGdlki27lDquuSCqWYZhMQJnZm8 VcaJDAuPqGwyMiC1kqago2iB7jQovZWDtxSYpEALJHLJBXwnS1qfa7panrmwfCgJtlFzdIVqFKUp wISHO9L8nuZxy0CFhXiI8FSud8iAmVASoFDIE3Y+yfMVCghDlV15V6RMTWOj6Ai+vaeh2agJh5IB hUxKvHZNRnu0TQ4dwQB1JkM+n8nQpQb1NwXFBCPco26IDUcNDoY+0eUgS+GYqBxfK4NrSrWOFmSW +OzExiuzNhvQZCtpw4AbpdtHKaKjJp12sIFTuYJcQdE91a/JQN2gdCjDbbaezmTooz77tEtDaTeK QnkIrDcKRNxKPdJwyep1MQUAA091vUOGtEBBLNaBt/XMxXpE0VxEoltBgNhbHINko9hRNYqd1nFz 7bkxBO0cLekdk2CyaCYahskUtPMzFfYIondJjwT3G4TAMG1QCMBzD5gjDYw4EplgngnhlBrvmEQC Y2zBJQqB0NuOsepBnuDCyDC2DhjcJmkGoGuN1dGRRkX6VOgB3TEwson1Whjanbddolshb2bJuX1C RQFlbDYo3aotWh3t4uw0DnNTw+iF6wDDJjOva5fgdXQ4sAGFYFxhoL6erGeXmIRqvcAwQo/cMBB5 m3Wne87h9kCGFg4YOB/AXrYMxQXGcJFhzOEV+oaMRQ816W002AEW0sDUhhJ2F+8Iixxp61EjPklw i8F4QA+DD98hI9vRQAEO3deZC1sPKFoZPT7yBQUROhf2zkIEh72kcae78ZoYfLiW9ahctfiaDIOp utv2Jckhj8MnuHW8XHbW3w8wep9l6Jq7fyaq4LtxdWS4zxxpwpi77UmZDpazL4d6fctga9QgtgqC wuX0zIb6Dxgf/gfqRjpvCmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iagoxMDc3CmVuZG9iagoyIDAg b2JqCjw8IC9UeXBlIC9QYWdlIC9QYXJlbnQgMyAwIFIgL1Jlc291cmNlcyA2IDAgUiAvQ29udGVu dHMgNCAwIFIgL01lZGlhQm94IFswIDAgMTcwLjU3NjcgMTkwLjE4NzRdCi9Dcm9wQm94IFswIDAg MTcwLjU3NjcgMTkwLjE4NzRdIC9Sb3RhdGUgMCA+PgplbmRvYmoKNiAwIG9iago8PCAvUHJvY1Nl dCBbIC9QREYgL1RleHQgXSAvRm9udCA8PCAvQzEgNyAwIFIgL0MyIDggMCBSID4+ID4+CmVuZG9i agozIDAgb2JqCjw8IC9UeXBlIC9QYWdlcyAvTWVkaWFCb3ggWzAgMCA2MTIgNzkyXSAvQ291bnQg MSAvS2lkcyBbIDIgMCBSIF0gPj4KZW5kb2JqCjkgMCBvYmoKPDwgL1R5cGUgL0NhdGFsb2cgL1Bh Z2VzIDMgMCBSID4+CmVuZG9iago3IDAgb2JqCjw8IC9UeXBlIC9Gb250IC9TdWJ0eXBlIC9UeXBl MCAvRW5jb2RpbmcgL0lkZW50aXR5LUggL0Rlc2NlbmRhbnRGb250cyBbMTAgMCBSXQovQmFzZUZv bnQgL0FWWUhKSStMTVJvbWFuMTItUmVndWxhciAvVG9Vbmljb2RlIDExIDAgUiA+PgplbmRvYmoK MTEgMCBvYmoKPDwgL0xlbmd0aCAxMiAwIFIgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFt CngBXZDNasQwDITvfgodt4fFuz2HQNlSyKE/NO0DeO1JMDSyUZxD3r6yW7ZQgQ8e+RuNbC/D48Cx kH2T5EcUmiIHwZo28aAr5sjmfE8h+vJ7a5pfXDZW4XFfC5aBp0RdZ4jsuyJrkZ0ODyFdcVe1VwmQ yDMdPi9jU8Yt5y8s4EIn0/cUMKnds8svbgHZhh6HoP1Y9qNSfy8+9gzSREqcfyL5FLBm5yGOZ5ju pNV3T1q9AYd/7arU9LdpfhPRQW3FlqF6R8btF3LK1aedb2aKZLMKZW5kc3RyZWFtCmVuZG9iagox MiAwIG9iagoyMDgKZW5kb2JqCjEwIDAgb2JqCjw8IC9UeXBlIC9Gb250IC9TdWJ0eXBlIC9DSURG b250VHlwZTAgL0Jhc2VGb250IC9BVllISkkrTE1Sb21hbjEyLVJlZ3VsYXIKL0NJRFN5c3RlbUlu Zm8gPDwgL1JlZ2lzdHJ5IChBZG9iZSkgL09yZGVyaW5nIChJZGVudGl0eSkgL1N1cHBsZW1lbnQg MCA+PgovVyAxMyAwIFIgL0RXIDEwMDAgL0ZvbnREZXNjcmlwdG9yIDE0IDAgUiA+PgplbmRvYmoK MTMgMCBvYmoKWyA0NyA0NyA1NDQgNTAgNTAgNDM1IDUzIDUzIDI3MiA2MiA2MiA3MzQgNjYgNjYg MjcyIDcwIDcwIDUxNyA3MiA3MiAyNzIgODEKODEgNDkwIDk2IDk2IDM4MSA5OCA5OCAzODYgMTA1 IDEwNSAzODEgMTE0IDExNCA3MDcgXQplbmRvYmoKMTQgMCBvYmoKPDwgL1R5cGUgL0ZvbnREZXNj cmlwdG9yIC9Gb250TmFtZSAvQVZZSEpJK0xNUm9tYW4xMi1SZWd1bGFyIC9GbGFncyA0IC9Gb250 QkJveApbLTQ1MyAtMzExIDE0MjUgMTE1OF0gL0l0YWxpY0FuZ2xlIDAgL0FzY2VudCAxMTI3IC9E ZXNjZW50IC0yODAgL0NhcEhlaWdodAoxMDAxIC9TdGVtViAwIC9YSGVpZ2h0IDc1MSAvQXZnV2lk dGggNDkwIC9NYXhXaWR0aCAxODc4IC9Gb250RmlsZTMgMTUgMCBSCj4+CmVuZG9iagoxNSAwIG9i ago8PCAvTGVuZ3RoIDE2IDAgUiAvU3VidHlwZSAvQ0lERm9udFR5cGUwQyAvRmlsdGVyIC9GbGF0 ZURlY29kZSA+PgpzdHJlYW0KeAF9VWtQE1cY3SUkm2qMNkssZnGvtBZr8QHY2rE/6igdBUWntVZr fVQsAiok4ZGESLGEZ8LNhvBIQCCQCJINoIJUwRHro1oVnerUdug42unU0emDjtbXXby0043Wx4/a P9/cO/fsnvOd79y5JBEaSpAkOWlVwoKE9+Kjk5at0GUma2PjZq7YnGbISM4OHiYLQJgCFSyiFC8L ERJhcojAho6+jbsipNkPsBQqSKgIwfEKSZ8ilFPI2DEEgPBRVVBQIZ9MEMTfLwbr1fFilbUrpgY3 9xWv7gpuK1UERZKy8VOioucsjZsVE/PGExVPFo/lLNdlZyZnLEjRbdqcmLJZm7sl1/xc5SLFbCKO eJN4h1hILCISiPeJjcQmYguRLSFI8ZAYR4wLEVchxA7iOjmNPBbChBwJ+UuyVnIh1Bx6WpqjfM3S YtovRLSgLb0qdGwIDsKhMCW9Q6ibyFOLi6sHgHCPwqBQqqUu1JR8DHAWxRs37l3OYPm06TgM079N RyFDfUead4JFFKJDzdBaYGDpvek5m7RrmCxMuNCqS3W9vi7Q0dLbcYQ5u3dDvgvUbYc2s0aJUyw+ tL4ZNqPVJlVgCBWfpc8I0WisuqqssrTYVlZmY9/KSshNZpKj/GgBaEYBih7wcbD51oe/4nFYNmcq noDD/3wdSdDYfkR4wTIUrsZFMhRbc83jZ+5X4cgtdqAcpeDwj17BbSJ/HpagpJEYdae+wWjMKEh2 sPtGN0i327nyWsbFOTx2sA/PUO82+LJ0RoM+y2fY7ff62lnlDcij8zzq5kkUcQUdvSIZSZjIm6h4 q6sbCH6q2+G6xLbwMlvOPKhlMudBLgdoW6hLDksqwBZ8FFn+FzLqp1KtlnjWpJVxrVchzwSuQlsr eEyAPOgo9vwnJNgaL8h5bS+ihlXXhucP0m2oVJzcknLnfiCEUvRJHBGc3bnaUnF2bdSGQriE1VKc /7BI4z4FbXsAHf6BcEsdyGnOedxzoLm1lVVildj0pzyazKMckUB1Z5AeFqziv/UZ8AsdwBq0usQl dQwer6lhL57us3vtcp6ymbJgJpP1EeRygZZqqqgryteYjGbI4lewSioYKfq7Z8I06n1WUIAJHIY2 P+CppZ/DfnCPOvfV75iVNhirCws05oIyY1B42wBsZw5y0Hbw4Vz5EWlQGyIH6W5kF8U9/HSEoOiL z+EZgCLPkSCP0uITFplIMXeBIYnwCdqqRurpt7EcK2ZEYhUOuxmNZGjM8B9Ixc6vVafDZVnr2LW6 9XmbmdQNjQNaoO+v+PqApgee6ehnD/r7Gvcy+w+YU9pBx3qYlCqGu0H075tezyPvyi93XqbD0D2B Vgf0/o1ztbPzStkKJJHRPNY8vV2tTw05IQpt/xbadomG0CUmGb1koc29D6BYarj3xg81HKyoZIvL 80v1Gu2uwsaWlnoxp9jlNqI4D2rwkF39yNwvQXcRrT6+tbOolk3r0Fcl1skzqxbuPK3p8B66jsiq WRkcW2yvhg7GDZ0ecIfyQKelOM9QVMK2ZWRUbWPwuLTElYUwvScddOr2lBwqOlFYb20zyT2f1Rt0 mo3Za+ckru25aWDLPRUc1FTayqGVKYRlZoAjKDMsczntdm8T66yGXEOjfF3PcdjE3D166jIQ3RHd 1/AoyaS6fd7gQxE++i66jCaoTxpWUvHa5JTF8JcmFnWhSB5HoiSKTjfIKmamRcdY5SYxRD/hDhmW fJ97bLDr7CVWeU5s+wbfz5OekTjJyLtClFqMYrYZZjBzOTH9/bY6fZ4GwuJyCzsbN0xD+6RldZBz aPzd0MuKUN0m8d7GBqE99bYdbuAsrdtabZqLreHRqE1aVg+5Sk37ftgcxGavgXpmVhD7pat8mxsg FX4gLax0lLiZWqej0Qluop6buEea73Raaxm3o9pdCRCFrvgG+7gm+ySlsCNs5CW10SvENyCdq8Yr g4oXoGJs8BFSCJGKqH/fi38AssL5dwplbmRzdHJlYW0KZW5kb2JqCjE2IDAgb2JqCjE0ODYKZW5k b2JqCjggMCBvYmoKPDwgL1R5cGUgL0ZvbnQgL1N1YnR5cGUgL1R5cGUwIC9FbmNvZGluZyAvSWRl bnRpdHktSCAvRGVzY2VuZGFudEZvbnRzIFsxNyAwIFJdCi9CYXNlRm9udCAvWUFGUEZXK0xNUm9t YW4xMi1Cb2xkIC9Ub1VuaWNvZGUgMTggMCBSID4+CmVuZG9iagoxOCAwIG9iago8PCAvTGVuZ3Ro IDE5IDAgUiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAFdkM1qxDAMhO9+Ch23h8W7 PYdA2VLIoT807QN47UkwNLJRnEPevrJbtlCBDx75G41sL8PjwLGQfZPkRxSaIgfBmjbxoCvmyOZ8 TyH68ntrml9cNlbhcV8LloGnRF1niOy7ImuRnQ4PIV1xV7VXCZDIMx0+L2NTxi3nLyzgQifT9xQw qd2zyy9uAdmGHoeg/Vj2o1J/Lz72DNJESpx/IvkUsGbnIY5nmO6k1XdPWr0Bh3/tqtT0t2l+E9FB bcWWoXpHxu0XcsrVp51vZopkswplbmRzdHJlYW0KZW5kb2JqCjE5IDAgb2JqCjIwOAplbmRvYmoK MTcgMCBvYmoKPDwgL1R5cGUgL0ZvbnQgL1N1YnR5cGUgL0NJREZvbnRUeXBlMCAvQmFzZUZvbnQg L1lBRlBGVytMTVJvbWFuMTItQm9sZCAvQ0lEU3lzdGVtSW5mbwo8PCAvUmVnaXN0cnkgKEFkb2Jl KSAvT3JkZXJpbmcgKElkZW50aXR5KSAvU3VwcGxlbWVudCAwID4+IC9XIDIwIDAgUiAvRFcgMTAw MAovRm9udERlc2NyaXB0b3IgMjEgMCBSID4+CmVuZG9iagoyMCAwIG9iagpbIDEwNyAxMDcgNTYz IF0KZW5kb2JqCjIxIDAgb2JqCjw8IC9UeXBlIC9Gb250RGVzY3JpcHRvciAvRm9udE5hbWUgL1lB RlBGVytMTVJvbWFuMTItQm9sZCAvRmxhZ3MgNCAvRm9udEJCb3gKWy01MDcgLTMyMCAxNjA4IDEx NjhdIC9JdGFsaWNBbmdsZSAwIC9Bc2NlbnQgMTEzNyAvRGVzY2VudCAtMjg5IC9DYXBIZWlnaHQK MTAxMCAvU3RlbVYgMCAvWEhlaWdodCA3NTggL0F2Z1dpZHRoIDU2MyAvTWF4V2lkdGggMjExNSAv Rm9udEZpbGUzIDIyIDAgUgo+PgplbmRvYmoKMjIgMCBvYmoKPDwgL0xlbmd0aCAyMyAwIFIgL1N1 YnR5cGUgL0NJREZvbnRUeXBlMEMgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngBY2Rg YWFgZGQUC3QM9HX00fbxDcrPTcwzNNJ1ys9JAckk/ZD/odDNI/edgUfphwzzD1mmH3Isfwp+b5Vh 05RhKWTt5mHs5mH67czDfJaHpZeHTY6LQb67G0LysHfzcMgyMDDcEwSRl/mBJGMWjwqIc41HdRGI GyzEwM7IyMYvq6im52ykZ2BgAncDnAF2DMhBjin5SameKal5JZklldidDDQ6m5mBEUgxMDEwMTIy FfB1f+f6fvq75L5tjIe/S34P+C7C/KP3e7ZoIltHWUtATSNHS7Ntd430b3227yrfuVm/M987v++1 1HcuhUu/JX6zannrhG2rWbRq/YKdW3MW5PTL7dx8oH+B9PPtDs62Yc5JCfK/c3+XszY2dXdWSlX9 sGDn+3Fc5Odi0frpPwKmfI+fP3U6WzcPZzcPNygseX4o8qhBfQ0AUdF5MAplbmRzdHJlYW0KZW5k b2JqCjIzIDAgb2JqCjMzMwplbmRvYmoKMjQgMCBvYmoKKG1hY09TIFZlcnNpb24gMTAuMTQuNiBc KEJ1aWxkIDE4RzQwMzJcKSBRdWFydHogUERGQ29udGV4dCkKZW5kb2JqCjI1IDAgb2JqCihEOjIw MjAwNDI4MTEyMTAyWjAwJzAwJykKZW5kb2JqCjEgMCBvYmoKPDwgL1Byb2R1Y2VyIDI0IDAgUiAv Q3JlYXRpb25EYXRlIDI1IDAgUiAvTW9kRGF0ZSAyNSAwIFIgPj4KZW5kb2JqCnhyZWYKMCAyNgow MDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDU3MjggMDAwMDAgbiAKMDAwMDAwMTE5MyAwMDAwMCBu IAowMDAwMDAxNDI3IDAwMDAwIG4gCjAwMDAwMDAwMjIgMDAwMDAgbiAKMDAwMDAwMTE3MyAwMDAw MCBuIAowMDAwMDAxMzUwIDAwMDAwIG4gCjAwMDAwMDE1NTkgMDAwMDAgbiAKMDAwMDAwNDIyMiAw MDAwMCBuIAowMDAwMDAxNTEwIDAwMDAwIG4gCjAwMDAwMDIwMTQgMDAwMDAgbiAKMDAwMDAwMTcx MCAwMDAwMCBuIAowMDAwMDAxOTk0IDAwMDAwIG4gCjAwMDAwMDIyMjMgMDAwMDAgbiAKMDAwMDAw MjM2NyAwMDAwMCBuIAowMDAwMDAyNjE1IDAwMDAwIG4gCjAwMDAwMDQyMDEgMDAwMDAgbiAKMDAw MDAwNDY3NCAwMDAwMCBuIAowMDAwMDA0MzcwIDAwMDAwIG4gCjAwMDAwMDQ2NTQgMDAwMDAgbiAK MDAwMDAwNDg4MCAwMDAwMCBuIAowMDAwMDA0OTEyIDAwMDAwIG4gCjAwMDAwMDUxNTcgMDAwMDAg biAKMDAwMDAwNTU5MCAwMDAwMCBuIAowMDAwMDA1NjEwIDAwMDAwIG4gCjAwMDAwMDU2ODYgMDAw MDAgbiAKdHJhaWxlcgo8PCAvU2l6ZSAyNiAvUm9vdCA5IDAgUiAvSW5mbyAxIDAgUiAvSUQgWyA8 NzlmMWM5MTgxNmZkZDQ0MjQ0MjM2YTI3NmQzYWE1MjY+Cjw3OWYxYzkxODE2ZmRkNDQyNDQyMzZh Mjc2ZDNhYTUyNj4gXSA+PgpzdGFydHhyZWYKNTgwMwolJUVPRgo= --Apple-Mail=_61566109-2FA9-4ECB-ABDD-F42FA6A3D3F7 Content-Transfer-Encoding: 7bit Content-Type: text/html; charset=us-ascii

Could I for instance change a TeX snippet to shift all the glyphs (individually) up a bit before handing it to followtext(), that would be a non-intelligent way of going about it (as it would of course also stretch/shrink the space between the glyphs when a bend is rounded, but I can live with that for now)

G
--Apple-Mail=_61566109-2FA9-4ECB-ABDD-F42FA6A3D3F7-- --Apple-Mail=_78A72EC3-0751-4F75-8BDA-D4F98D47C4CB-- --===============8915816416525511614== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSWYgeW91ciBxdWVzdGlvbiBpcyBvZiBpbnRlcmVz dCB0byBvdGhlcnMgYXMgd2VsbCwgcGxlYXNlIGFkZCBhbiBlbnRyeSB0byB0aGUgV2lraSEKCm1h aWxsaXN0IDogbnRnLWNvbnRleHRAbnRnLm5sIC8gaHR0cDovL3d3dy5udGcubmwvbWFpbG1hbi9s aXN0aW5mby9udGctY29udGV4dAp3ZWJwYWdlICA6IGh0dHA6Ly93d3cucHJhZ21hLWFkZS5ubCAv IGh0dHA6Ly9jb250ZXh0LmFhbmhldC5uZXQKYXJjaGl2ZSAgOiBodHRwczovL2JpdGJ1Y2tldC5v cmcvcGhnL2NvbnRleHQtbWlycm9yL2NvbW1pdHMvCndpa2kgICAgIDogaHR0cDovL2NvbnRleHRn YXJkZW4ubmV0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCg== --===============8915816416525511614==--