login
Integers in increasing order of width when printed in Helvetica.
2

%I #24 Sep 01 2019 22:02:14

%S 1,9,8,6,2,0,5,7,3,4,11,91,61,81,71,31,51,21,41,12,15,19,18,16,10,13,

%T 14,17,92,62,82,72,95,99,32,52,98,65,69,85,89,96,75,79,90,68,88,35,39,

%U 66,78,86,93,22,60,76,80,94,97,42,55,59,70,38,36,63,83,30,58,64,67,73,84,87,56

%N Integers in increasing order of width when printed in Helvetica.

%C The title is copied verbally from the second example "SUB[44]" of the linked xkcd webcomic number 2016 (subtitled "OEIS keeps rejecting my submissions"). To make the definition exact, the full title should be: The nonnegative integers sorted by increasing width of bounding box when printing their decimal representation using the Helvetica font, and in case of ties, sorted by increasing value.

%C The differences from the corresponding sequence A316599, which uses the Arial font, arise from the different width data for the digit characters and the absence of kerning for the number pair "11" in Helvetica. So the print width becomes a function of the number of printed digits, of the left margin of the bounding box of the most significant digit and of the right margin of the bounding box of the least significant digit.

%C See the comment in A316599 for more information.

%H Hugo Pfoertner, <a href="/A316600/b316600.txt">Table of n, a(n) for n = 0..100000</a>

%H Adobe, <a href="https://www.adobe.com/content/dam/acom/en/devnet/font/pdfs/5004.AFM_Spec.pdf">Adobe Font Metrics File Format Specification</a>, Version 4.1, 1998

%H Adobe Font technical notes, <a href="http://download.macromedia.com/pub/developer/opentype/tech-notes/Core14_AFMs.zip">Font Metrics for PDF Core 14 Fonts (Win)</a>, File Helvetica.afm dated 11/10/1999 in ZIP archive.

%H Randall Munroe, <a href="https://xkcd.com/2016/">OEIS Submissions</a>, xkcd Web Comic #2016, Jul 06 2018.

%H Hugo Pfoertner, <a href="/A316600/a316600.png">Illustration of print widths.</a>

%e The relevant part of the applicable Adobe Font Metrics File Helvetica.afm is as follows:

%e Header information:

%e StartFontMetrics 4.1

%e Comment Creation Date: Thu May 1 12:38:23 1997

%e Comment UniqueID 43054

%e Version 002.000

%e Notice Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved. Helvetica is a trademark of Linotype-Hell AG and/or its subsidiaries.

%e .

%e Individual character metrics:

%e C number Decimal value of default character code,

%e WX number Character width in x for writing direction 0,

%e B llx lly urx ury Character bounding box where llx, lly, urx, and ury are all numbers.

%e .

%e C 48 ; WX 556 ; N zero ; B 37 -19 519 703 ;

%e C 49 ; WX 556 ; N one ; B 101 0 359 703 ;

%e C 50 ; WX 556 ; N two ; B 26 0 507 703 ;

%e C 51 ; WX 556 ; N three ; B 34 -19 522 703 ;

%e C 52 ; WX 556 ; N four ; B 25 0 523 703 ;

%e C 53 ; WX 556 ; N five ; B 32 -19 514 688 ;

%e C 54 ; WX 556 ; N six ; B 38 -19 518 703 ;

%e C 55 ; WX 556 ; N seven ; B 37 0 523 688 ;

%e C 56 ; WX 556 ; N eight ; B 38 -19 517 703 ;

%e C 57 ; WX 556 ; N nine ; B 42 -19 514 703 ;

%e .

%e The resulting first few sorted print widths w are:

%e a(0) = 1, w(1) = 258 = 359 - 101;

%e a(1) = 9, w(9) = 472 = 514 - 42;

%e a(2) = 8, w(8) = 479 = 517 - 38;

%e a(3) = 6, w(6) = 480 = 518 - 38;

%e a(4) = 2, w(2) = 481 = 507 - 26;

%e a(5) = 0, w(0) = 482 = 519 - 37;

%e a(6) = 5, w(5) = 482 = 514 - 32, 0 < 5;

%e a(7) = 7, w(7) = 486 = 523 - 37;

%e a(8) = 3, w(3) = 488 = 522 - 34;

%e a(9) = 4, w(4) = 498 = 523 - 25;

%e a(10) = 11, w(11) = 814 = 556 - 101 + 359;

%e a(11) = 91, w(91) = 873 = 556 - 42 + 359;

%e a(12) = 61, w(61) = 877 = 556 - 38 + 359;

%e a(13) = 81, w(81) = 877 = 556 - 38 + 359, 61 < 81;

%e a(14) = 71, w(71) = 878 = 556 - 37 + 359

%o (PARI)llx=[101, 26, 34, 25, 32, 38, 37, 38, 42, 37];

%o urx=[359, 507, 522, 523, 514, 518, 523, 517, 514, 519];

%o lsd(x)=if(x%10==0,10,x%10);

%o msd(x)=floor(x/10^logint(x,10));

%o width(x)=556*logint(x,10)-llx[msd(x)]+urx[lsd(x)];

%o w=vector(100);

%o large=1000000;

%o w[1]=large*(urx[10]-llx[10]);

%o for(k=2,100,w[k]=large*width(k-1)+k-1);

%o v=vecsort(w);

%o for(k=1,75,print1(v[k]%large,", ")) \\ _Hugo Pfoertner_, Jul 12 2018

%Y Cf. A001477, A316599.

%K nonn,base,dumb,look

%O 0,2

%A _Hugo Pfoertner_, Jul 09 2018