2010-12-03 35 views
3

Dans mon application, j'ai l'obligation de publier l'image ASCII de mon application iPhone sur le mur de la page Facebook. Mais le problème auquel je suis confronté est cette police facebook (Lucida Console) Modifie le formatage de mon art ASCII. J'ai fait mon art ASCII dans Courier New.Comment pouvons-nous poster de l'art ASCII sur un mur Facebook?

Que peut-on faire?

Y at-il un moyen de poster mon art ASCII sur facebook sans avoir à reformater le tout?

S'il vous plaît aidez et suggérez.

Merci

+3

Démarrer en allant myspace.com. Sérieusement, je ne pense pas que vous pouvez spécifier quelle police utiliser. Vous devriez le faire bien à l'aide de Lucida Console. Sans compter que cela changera probablement la façon dont vos sauts de ligne originaux ont été utilisés. –

+0

Je ne comprends pas clairement ce que vous avez dit. S'il vous plaît expliquer plus. Je suis un débutant. –

+0

ASCII art dépend de la police que vous utilisez.Sauf si vous pouvez spécifier la police à utiliser (dont je doute que vous pouvez), vous serez incapable de le faire –

Répondre

4

Courier est un monospaced font. Cela signifie que chaque lettre a le même espace. C'est pourquoi il est facile à utiliser pour l'art ASCII et populaire pour le codage - comme les mots avec la même longueur seront toujours aux mêmes positions.

de facebook css:

font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; 

Lucida Grande est un propotional font. c'est-à-dire que je utilise beaucoup moins d'espace qu'un m. Les mots de différentes lignes ne correspondent pas très bien.

modifier
Jetez un oeil à this facebook group. Les utilisateurs compensent l'absence d'une police à espacement fixe par

  1. en utilisant seulement des symboles avec à peu près la même largeur
  2. chambre de remplissage avec des symboles courts comme .

monospaced
♥♥'''''''''''''''♥♥
♥♥'''''''''''''''♥♥

propotion
♥ « » « » « » « » « » « » « » '♥♥

+0

Merci beaucoup vikingosegundo. :) –

+0

j'ai ajouté un exemple – vikingosegundo

0

je suis venu avec un script Python, il testé uniquement avec des exemples simples jusqu'à présent.

#!/usr/bin/python 
''' 
fbformat -- format ASCII for Facebook 
''' 
import sys, os 
PRINTABLE = [' '] + map(chr, range(ord('!'), ord('~') + 1)) 
FB_ABLE = [u'\u3000'] + map(unichr, range(0xff01, 0xff5f)) 
TO_FB = dict(zip(PRINTABLE, FB_ABLE)) 
FROM_FB = dict(zip(FB_ABLE, PRINTABLE)) 
COMMAND = os.path.splitext(os.path.basename(sys.argv[0]))[0] 
TEXT = sys.stdin.read().decode('utf8') 
TO = ''.join([TO_FB.get(C, C) for C in TEXT]) 
FROM = ''.join([FROM_FB.get(C, C) for C in TEXT]) 
sys.stdout.write([TO, FROM][COMMAND == 'fbunformat'].encode('utf8')) 

symlink comme ~/home/bin/fbformat et ~/home/bin/fbunformat, et assurez-vous ~/home/bin est dans votre PATH.

entrez les informations suivantes comme test.txt:

YES! 
\o/ 
| 
/\ 

alors:

[email protected]:~/rentacoder/gdavis$ fbformat < /tmp/test.txt 
YES! 
\o/ 
 | 
/ \ 
[email protected]:~/rentacoder/gdavis$ fbformat < /tmp/test.txt | fbunformat 
YES! 
\o/ 
| 
/\ 

ressources: http://www.cs.tut.fi/~jkorpela/chars/spaces.html et https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms