SlideShare una empresa de Scribd logo
1 de 37
Slide Show
Font Sampler
      White on Black Edition, v2012-05-28
        How well do fonts convert online?
  How good do they look on washed up projectors?
    How big is too big? How small is too small?
Nick Galbreath nickg@client9.com @ngalbreath
Original Sources and
Alternative Versions
    This presentation is available on multiple
 online slide-sharing services and comes in both
      black-text on white-background and
             white-on-black versions.


   http://goo.gl/Pwxoc
blog.client9.com/2012/05/
Problems

• How good is the font conversion when a
  presentation is posted online?
• How good to fonts look on washed out
  projectors? From how far away?
• For plain text? For computer code?
Solutions
• This deck contains the most popular sans-
  serif fonts in 18, 24, 36, 42, 48, 64 and if
  room, 72 point-size.
• Then common monospace fonts at
  24, 30, 32 points along with some computer
  code at 32 points.
• This was created with Keynote 5.1.1 using a
  slide size of 1024x768 on Mac OS X 10.7.4
  and uploaded to various services.
• The quick brown fox jumped over the
  lazy dog. Arial 42.

•The quick brown fox jumped over the
  lazy dog. Futura 42.

• The quick brown fox jumped over the lazy
  dog. Gill Sans 42.

• The quick brown fox jumped over the
  lazy dog. Helvetica 42.

• The quick brown fox jumped over the
  lazy dog. Helvetica Neue 42.

• The quick brown fox jumped over the
  lazy dog. Helvetica Neue Medium 42.
• The quick brown fox jumped over the
  lazy dog. Helvetica Neue 42.
• The quick brown fox jumped over the
  lazy dog. Trebuchet MS 42.

• The quick brown fox jumped over
  the lazy dog. Verdana 42.

• The quick brown fox jumped over the
  lazy dog. Helvetica Light 42

• The quick brown fox jumped over the
  lazy dog. Helvetica Neue Light 42
•   The quick brown fox jumped over the lazy dog.
    Arial 36.

•The quick brown fox jumped over the lazy
    dog. Futura 36.

•   The quick brown fox jumped over the lazy dog.
    Gill Sans 36.

•   The quick brown fox jumped over the lazy dog.
    Helvetica 36.

• The quick brown fox jumped over the lazy
    dog. Helvetica Neue 36.

• The quick brown fox jumped over the lazy
    dog. Helvetica Neue Medium 36.
• The quick brown fox jumped over the lazy
    dog. Helvetica Neue 36.

• The quick brown fox jumped over the lazy
    dog. Trebuchet MS 36.

• The quick brown fox jumped over the
    lazy dog. Verdana 36.

• The quick brown fox jumped over the lazy
    dog. Helvetica Light 36

• The quick brown fox jumped over the lazy dog.
    Helvetica Neue Light 36

•   The quick brown fox jumped over the lazy dog.
    Helvetica Neue Light 36
•   The quick brown fox jumped over the lazy dog.
    Arial 30.

• The quick brown fox jumped over the lazy dog.
    Futura 30.

•   The quick brown fox jumped over the lazy dog.
    Gill Sans 30.

•   The quick brown fox jumped over the lazy dog.
    Helvetica 30.

•   The quick brown fox jumped over the lazy dog.
    Helvetica Neue 30.

•   The quick brown fox jumped over the lazy dog.
    Helvetica Neue Medium 30.
•   The quick brown fox jumped over the lazy dog.
    Helvetica Neue 30.

•   The quick brown fox jumped over the lazy dog.
    Trebuchet MS 30.

•   The quick brown fox jumped over the lazy dog.
    Verdana 30.

•   The quick brown fox jumped over the lazy dog.
    Helvetica Light 30

•   The quick brown fox jumped over the lazy dog.
    Helvetica Neue Light 30
Arial
The quick brown fox jumped
   over the lazy dog. 72
   The quick brown fox jumped
      over the lazy dog. 64
 The quick brown fox jumped over the lazy
                 dog. 48
The quick brown fox jumped over the lazy dog. 42
   The quick brown fox jumped over the lazy dog. 36
          The quick brown fox jumped over the lazy dog. 24
               The quick brown fox jumped over the lazy dog. 18
Futura Medium
  The quick brown fox jumped
     over the lazy dog. 64
The quick brown fox jumped over the lazy
                dog. 48
The quick brown fox jumped over the lazy dog.
 The quick brown fox jumped over the lazy dog. 36
         The quick brown fox jumped over the lazy dog. 24
               The quick brown fox jumped over the lazy dog.18
Gill Sans Regular
 The quick brown fox jumped
    over the lazy dog. 72
The quick brown fox jumped over
         the lazy dog. 64
The quick brown fox jumped over the lazy dog.
 The quick brown fox jumped over the lazy dog. 42
    The quick brown fox jumped over the lazy dog. 36
            The quick brown fox jumped over the lazy dog. 24
                  The quick brown fox jumped over the lazy dog. 18
Helvetica Regular
The quick brown fox jumped
   over the lazy dog. 72
   The quick brown fox jumped
      over the lazy dog. 64
 The quick brown fox jumped over the lazy
                 dog. 48
The quick brown fox jumped over the lazy dog. 42
   The quick brown fox jumped over the lazy dog. 36
          The quick brown fox jumped over the lazy dog. 24
               The quick brown fox jumped over the lazy dog. 18
Helvetica Neue Reg
The quick brown fox jumped
   over the lazy dog. 72
 The quick brown fox jumped
    over the lazy dog. 64
The quick brown fox jumped over the lazy
                dog. 48
The quick brown fox jumped over the lazy dog.
  The quick brown fox jumped over the lazy dog. 36
         The quick brown fox jumped over the lazy dog. 24
              The quick brown fox jumped over the lazy dog. 18
Helvetica Neue Med
    The quick brown fox
 jumped over the lazy dog.
 The quick brown fox jumped
    over the lazy dog. 64
The quick brown fox jumped over the lazy
                dog. 48
The quick brown fox jumped over the lazy dog.
  The quick brown fox jumped over the lazy dog. 36
         The quick brown fox jumped over the lazy dog. 24
              The quick brown fox jumped over the lazy dog. 18
Helvetica Light
The quick brown fox jumped
   over the lazy dog. 72
  The quick brown fox jumped
     over the lazy dog. 64
The quick brown fox jumped over the lazy
                dog. 48
The quick brown fox jumped over the lazy dog.42
   The quick brown fox jumped over the lazy dog. 36
          The quick brown fox jumped over the lazy dog. 24
               The quick brown fox jumped over the lazy dog. 18
Helvetica Neue Light
The quick brown fox jumped
   over the lazy dog. 72
The quick brown fox jumped over
        the lazy dog. 64
 The quick brown fox jumped over the lazy
                dog. 48
The quick brown fox jumped over the lazy dog. 42
   The quick brown fox jumped over the lazy dog. 36
          The quick brown fox jumped over the lazy dog. 24
               The quick brown fox jumped over the lazy dog. 18
Trebuchet MS
The quick brown fox jumped
   over the lazy dog. 72
 The quick brown fox jumped
    over the lazy dog. 64
The quick brown fox jumped over the lazy
                dog. 48
The quick brown fox jumped over the lazy dog.
  The quick brown fox jumped over the lazy dog.36
         The quick brown fox jumped over the lazy dog. 24
               The quick brown fox jumped over the lazy dog. 18
Verdana
 The quick brown fox jumped
    over the lazy dog. 72
The quick brown fox jumped over
         the lazy dog. 64
The quick brown fox jumped over the lazy dog.
 The quick brown fox jumped over the lazy dog. 42
    The quick brown fox jumped over the lazy dog. 36
           The quick brown fox jumped over the lazy dog. 24
                 The quick brown fox jumped over the lazy dog. 18
Monospace
• #The ($quick) {brown fox} jumped over >>
  the /* lazy */ “dog”! && ‘n00b’ || die
  +12345.6789; 0 vs. O vs. o 1 vs. I vs. l
  Andale Mono 30

• #The ($quick) {brown fox} jumped over >>
  the /* lazy */ “dog”! && ‘n00b’ || die
  +12345.6789; 0 vs. O vs. o 1 vs. I vs. l
  Menlo 30

• #The ($quick) {brown fox} jumped over >>
  the /* lazy */ “dog”! && ‘n00b’ || die
  +12345.6789; 0 vs. O vs. o 1 vs. I vs. l
  Monaco 30
•   #The ($quick) {brown fox} jumped over >> the /*
    lazy */ “dog”! && ‘n00b’ || die +12345.6789; 0
    vs. O vs. o 1 vs. I vs. l
    Andale Mono 24

•   #The ($quick) {brown fox} jumped over >> the /*
    lazy */ “dog”! && ‘n00b’ || die +12345.6789; 0
    vs. O vs. o 1 vs. I vs. l
    Menlo 24

•   #The ($quick) {brown fox} jumped over >> the /*
    lazy */ “dog”! && ‘n00b’ || die +12345.6789; 0
    vs. O vs. o 1 vs. I vs. l
    Monaco 24
Andale Mono
• #The   ($quick) {brown fox} jumped over
    >> the /* lazy */ dog! && n00b || die
    +12345.6789;
      0 vs. O vs. o 1 vs. I vs. l (32 pt)

• #The   ($quick) {brown fox} jumped over >>
    the /* lazy */ dog! && n00b || die
    +12345.6789;
      0 vs. O vs. o 1 vs. I vs. l (30 pt)
•   #The ($quick) {brown fox} jumped over >> the /*
    lazy */ dog! && n00b || die +12345.6789;
     0 vs. O vs. o 1 vs. I vs. l (24 pt)
Courier
• #The   ($quick) {brown fox} jumped over
    >> the /* lazy */ dog! && n00b || die
    +12345.6789;
      0 vs. O vs. o 1 vs. I vs. l (32 pt)

• #The   ($quick) {brown fox} jumped over >>
    the /* lazy */ dog! && n00b || die
    +12345.6789; 0 vs. O vs. o 1 vs. I vs. l
    (30 pt)
•   #The ($quick) {brown fox} jumped over >> the /*
    lazy */ dog! && n00b || die +12345.6789;
     0 vs. O vs. o 1 vs. I vs. l (24 pt)
Courier New
• #The   ($quick) {brown fox} jumped over
    >> the /* lazy */ dog! && n00b || die
    +12345.6789;
      0 vs. O vs. o 1 vs. I vs. l (32 pt)

• #The   ($quick) {brown fox} jumped over >>
    the /* lazy */ dog! && n00b || die
    +12345.6789;
      0 vs. O vs. o 1 vs. I vs. l (30 pt)
•   #The ($quick) {brown fox} jumped over >> the /*
    lazy */ dog! && n00b || die +12345.6789;
      0 vs. O vs. o 1 vs. I vs. l (30 pt)
Menlo
• #The   ($quick) {brown fox} jumped over
    >> the /* lazy */ dog! && n00b || die
    +12345.6789;
     0 vs. O vs. o 1 vs. I vs. l (32 pt)

• #The   ($quick) {brown fox} jumped over >>
    the /* lazy */ dog! && n00b || die
    +12345.6789;
      0 vs. O vs. o 1 vs. I vs. l (30 pt)
•   #The ($quick) {brown fox} jumped over >> the /*
    lazy */ dog! && n00b || die +12345.6789;
     0 vs. O vs. o 1 vs. I vs. l (24 pt)
Monaco
• #The   ($quick) {brown fox} jumped over
    >> the /* lazy */ dog! && n00b || die
    +12345.6789;
      0 vs. O vs. o 1 vs. I vs. l (32 pt)

• #The   ($quick) {brown fox} jumped over >>
    the /* lazy */ dog! && n00b || die
    +12345.6789;
      0 vs. O vs. o 1 vs. I vs. l (30 pt)

•   #The ($quick) {brown fox} jumped over >> the /* lazy
    */ dog! && n00b || die +12345.6789;
      0 vs. O vs. o 1 vs. I vs. l (24 pt)
Andale Mono 30
for (lim = nmemb; lim != 0; lim >>= 1) {
     p = base + (lim >> 1) * size;
     cmp = (*compar)(key, p);
     if (cmp == 0)
        return ((void *)p);
     if (cmp > 0) { /* key > p: move right */
        base = (char *)p + size;
        lim--;
     }     /* else move left */
   }
return (NULL);
Courier 30
for (lim = nmemb; lim != 0; lim >>= 1) {
! ! p = base + (lim >> 1) * size;
! ! cmp = (*compar)(key, p);
! ! if (cmp == 0)
! ! ! return ((void *)p);
! ! if (cmp > 0) {! /* key > p: move right */
! ! ! base = (char *)p + size;
! ! ! lim--;
! ! }! ! /* else move left */
! }
return (NULL);
Courier New 30

for (lim = nmemb; lim != 0; lim >>= 1) {
     p = base + (lim >> 1) * size;
     cmp = (*compar)(key, p);
     if (cmp == 0)
        return ((void *)p);
     if (cmp > 0) { /* key > p: move right */
        base = (char *)p + size;
        lim--;
     }     /* else move left */
   }
return (NULL);
Menlo 30
for (lim = nmemb; lim != 0; lim >>= 1) {
! ! p = base + (lim >> 1) * size;
! ! cmp = (*compar)(key, p);
! ! if (cmp == 0)
! ! ! return ((void *)p);
! ! if (cmp > 0) {! /* key > p: move right */
! ! ! base = (char *)p + size;
! ! ! lim--;
! ! }! ! /* else move left */
! }
! return (NULL);
Monaco 30
for (lim = nmemb; lim != 0; lim >>= 1) {
	 	 p = base + (lim >> 1) * size;
	 	 cmp = (*compar)(key, p);
	 	 if (cmp == 0)
	 	 	 return ((void *)p);
	 	 if (cmp > 0) {	 /* key > p: move right */
	 	 	 base = (char *)p + size;
	 	 	 lim--;
	 	 }	 	 /* else move left */
	 }
return (NULL);
Andale Mono 24

for (lim = nmemb; lim != 0; lim >>= 1) {
      p = base + (lim >> 1) * size;
      cmp = (*compar)(key, p);
      if (cmp == 0)
          return ((void *)p);
      if (cmp > 0) { /* key > p: move right */
          base = (char *)p + size;
          lim--;
      }      /* else move left */
   }
return (NULL);
Menlo 24

for (lim = nmemb; lim != 0; lim >>= 1) {
! ! p = base + (lim >> 1) * size;
! ! cmp = (*compar)(key, p);
! ! if (cmp == 0)
! ! ! return ((void *)p);
! ! if (cmp > 0) {! /* key > p: move right */
! ! ! base = (char *)p + size;
! ! ! lim--;
! ! }! ! /* else move left */
! }
! return (NULL);
Monaco 24

for (lim = nmemb; lim != 0; lim >>= 1) {
	 	 p = base + (lim >> 1) * size;
	 	 cmp = (*compar)(key, p);
	 	 if (cmp == 0)
	 	 	 return ((void *)p);
	 	 if (cmp > 0) {	 /* key > p: move right */
	 	 	 base = (char *)p + size;
	 	 	 lim--;
	 	 }	 	 /* else move left */
	 }
return (NULL);
Acknowledgements


• Source code sample is from FreeBSD
  “bsearch.c” http://bit.ly/KDYqwl
• Please see file for copyright notices.

Más contenido relacionado

Más de Nick Galbreath

Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013Nick Galbreath
 
Fixing security by fixing software development
Fixing security by fixing software developmentFixing security by fixing software development
Fixing security by fixing software developmentNick Galbreath
 
DevOpsDays Austin 2013 Reading List
DevOpsDays Austin 2013 Reading ListDevOpsDays Austin 2013 Reading List
DevOpsDays Austin 2013 Reading ListNick Galbreath
 
Care and Feeding of Large Scale Graphite Installations - DevOpsDays Austin 2013
Care and Feeding of Large Scale Graphite Installations - DevOpsDays Austin 2013Care and Feeding of Large Scale Graphite Installations - DevOpsDays Austin 2013
Care and Feeding of Large Scale Graphite Installations - DevOpsDays Austin 2013Nick Galbreath
 
SQL-RISC: New Directions in SQLi Prevention - RSA USA 2013
SQL-RISC: New Directions in SQLi Prevention - RSA USA 2013SQL-RISC: New Directions in SQLi Prevention - RSA USA 2013
SQL-RISC: New Directions in SQLi Prevention - RSA USA 2013Nick Galbreath
 
Rebooting Software Development - OWASP AppSecUSA
Rebooting Software Development - OWASP AppSecUSA Rebooting Software Development - OWASP AppSecUSA
Rebooting Software Development - OWASP AppSecUSA Nick Galbreath
 
libinjection and sqli obfuscation, presented at OWASP NYC
libinjection and sqli obfuscation, presented at OWASP NYClibinjection and sqli obfuscation, presented at OWASP NYC
libinjection and sqli obfuscation, presented at OWASP NYCNick Galbreath
 
libinjection: new technique in detecting SQLi attacks, iSEC Partners Open Forum
libinjection: new technique in detecting SQLi attacks, iSEC Partners Open Forumlibinjection: new technique in detecting SQLi attacks, iSEC Partners Open Forum
libinjection: new technique in detecting SQLi attacks, iSEC Partners Open ForumNick Galbreath
 
Continuous Deployment - The New #1 Security Feature, from BSildesLA 2012
Continuous Deployment - The New #1 Security Feature, from BSildesLA 2012Continuous Deployment - The New #1 Security Feature, from BSildesLA 2012
Continuous Deployment - The New #1 Security Feature, from BSildesLA 2012Nick Galbreath
 
Time tested php with libtimemachine
Time tested php with libtimemachineTime tested php with libtimemachine
Time tested php with libtimemachineNick Galbreath
 
libinjection: a C library for SQLi detection, from Black Hat USA 2012
libinjection: a C library for SQLi detection, from Black Hat USA 2012libinjection: a C library for SQLi detection, from Black Hat USA 2012
libinjection: a C library for SQLi detection, from Black Hat USA 2012Nick Galbreath
 
New techniques in sql obfuscation, from DEFCON 20
New techniques in sql obfuscation, from DEFCON 20New techniques in sql obfuscation, from DEFCON 20
New techniques in sql obfuscation, from DEFCON 20Nick Galbreath
 
Data Driven Security, from Gartner Security Summit 2012
Data Driven Security, from Gartner Security Summit 2012Data Driven Security, from Gartner Security Summit 2012
Data Driven Security, from Gartner Security Summit 2012Nick Galbreath
 
Slide show font sampler, black on white
Slide show font sampler, black on whiteSlide show font sampler, black on white
Slide show font sampler, black on whiteNick Galbreath
 
Fraud Engineering, from Merchant Risk Council Annual Meeting 2012
Fraud Engineering, from Merchant Risk Council Annual Meeting 2012Fraud Engineering, from Merchant Risk Council Annual Meeting 2012
Fraud Engineering, from Merchant Risk Council Annual Meeting 2012Nick Galbreath
 
Rate Limiting at Scale, from SANS AppSec Las Vegas 2012
Rate Limiting at Scale, from SANS AppSec Las Vegas 2012Rate Limiting at Scale, from SANS AppSec Las Vegas 2012
Rate Limiting at Scale, from SANS AppSec Las Vegas 2012Nick Galbreath
 
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012Nick Galbreath
 

Más de Nick Galbreath (17)

Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013
 
Fixing security by fixing software development
Fixing security by fixing software developmentFixing security by fixing software development
Fixing security by fixing software development
 
DevOpsDays Austin 2013 Reading List
DevOpsDays Austin 2013 Reading ListDevOpsDays Austin 2013 Reading List
DevOpsDays Austin 2013 Reading List
 
Care and Feeding of Large Scale Graphite Installations - DevOpsDays Austin 2013
Care and Feeding of Large Scale Graphite Installations - DevOpsDays Austin 2013Care and Feeding of Large Scale Graphite Installations - DevOpsDays Austin 2013
Care and Feeding of Large Scale Graphite Installations - DevOpsDays Austin 2013
 
SQL-RISC: New Directions in SQLi Prevention - RSA USA 2013
SQL-RISC: New Directions in SQLi Prevention - RSA USA 2013SQL-RISC: New Directions in SQLi Prevention - RSA USA 2013
SQL-RISC: New Directions in SQLi Prevention - RSA USA 2013
 
Rebooting Software Development - OWASP AppSecUSA
Rebooting Software Development - OWASP AppSecUSA Rebooting Software Development - OWASP AppSecUSA
Rebooting Software Development - OWASP AppSecUSA
 
libinjection and sqli obfuscation, presented at OWASP NYC
libinjection and sqli obfuscation, presented at OWASP NYClibinjection and sqli obfuscation, presented at OWASP NYC
libinjection and sqli obfuscation, presented at OWASP NYC
 
libinjection: new technique in detecting SQLi attacks, iSEC Partners Open Forum
libinjection: new technique in detecting SQLi attacks, iSEC Partners Open Forumlibinjection: new technique in detecting SQLi attacks, iSEC Partners Open Forum
libinjection: new technique in detecting SQLi attacks, iSEC Partners Open Forum
 
Continuous Deployment - The New #1 Security Feature, from BSildesLA 2012
Continuous Deployment - The New #1 Security Feature, from BSildesLA 2012Continuous Deployment - The New #1 Security Feature, from BSildesLA 2012
Continuous Deployment - The New #1 Security Feature, from BSildesLA 2012
 
Time tested php with libtimemachine
Time tested php with libtimemachineTime tested php with libtimemachine
Time tested php with libtimemachine
 
libinjection: a C library for SQLi detection, from Black Hat USA 2012
libinjection: a C library for SQLi detection, from Black Hat USA 2012libinjection: a C library for SQLi detection, from Black Hat USA 2012
libinjection: a C library for SQLi detection, from Black Hat USA 2012
 
New techniques in sql obfuscation, from DEFCON 20
New techniques in sql obfuscation, from DEFCON 20New techniques in sql obfuscation, from DEFCON 20
New techniques in sql obfuscation, from DEFCON 20
 
Data Driven Security, from Gartner Security Summit 2012
Data Driven Security, from Gartner Security Summit 2012Data Driven Security, from Gartner Security Summit 2012
Data Driven Security, from Gartner Security Summit 2012
 
Slide show font sampler, black on white
Slide show font sampler, black on whiteSlide show font sampler, black on white
Slide show font sampler, black on white
 
Fraud Engineering, from Merchant Risk Council Annual Meeting 2012
Fraud Engineering, from Merchant Risk Council Annual Meeting 2012Fraud Engineering, from Merchant Risk Council Annual Meeting 2012
Fraud Engineering, from Merchant Risk Council Annual Meeting 2012
 
Rate Limiting at Scale, from SANS AppSec Las Vegas 2012
Rate Limiting at Scale, from SANS AppSec Las Vegas 2012Rate Limiting at Scale, from SANS AppSec Las Vegas 2012
Rate Limiting at Scale, from SANS AppSec Las Vegas 2012
 
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
 

Último

MT. Marseille an Archipelago. Strategies for Integrating Residential Communit...
MT. Marseille an Archipelago. Strategies for Integrating Residential Communit...MT. Marseille an Archipelago. Strategies for Integrating Residential Communit...
MT. Marseille an Archipelago. Strategies for Integrating Residential Communit...katerynaivanenko1
 
原版1:1定制堪培拉大学毕业证(UC毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制堪培拉大学毕业证(UC毕业证)#文凭成绩单#真实留信学历认证永久存档原版1:1定制堪培拉大学毕业证(UC毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制堪培拉大学毕业证(UC毕业证)#文凭成绩单#真实留信学历认证永久存档208367051
 
办理(UC毕业证书)查尔斯顿大学毕业证成绩单原版一比一
办理(UC毕业证书)查尔斯顿大学毕业证成绩单原版一比一办理(UC毕业证书)查尔斯顿大学毕业证成绩单原版一比一
办理(UC毕业证书)查尔斯顿大学毕业证成绩单原版一比一z xss
 
Pharmaceutical Packaging for the elderly.pdf
Pharmaceutical Packaging for the elderly.pdfPharmaceutical Packaging for the elderly.pdf
Pharmaceutical Packaging for the elderly.pdfAayushChavan5
 
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书zdzoqco
 
Design and Managing Service in the field of tourism and hospitality industry
Design and Managing Service in the field of tourism and hospitality industryDesign and Managing Service in the field of tourism and hospitality industry
Design and Managing Service in the field of tourism and hospitality industryrioverosanniejoy
 
'CASE STUDY OF INDIRA PARYAVARAN BHAVAN DELHI ,
'CASE STUDY OF INDIRA PARYAVARAN BHAVAN DELHI ,'CASE STUDY OF INDIRA PARYAVARAN BHAVAN DELHI ,
'CASE STUDY OF INDIRA PARYAVARAN BHAVAN DELHI ,Aginakm1
 
定制(CQU文凭证书)中央昆士兰大学毕业证成绩单原版一比一
定制(CQU文凭证书)中央昆士兰大学毕业证成绩单原版一比一定制(CQU文凭证书)中央昆士兰大学毕业证成绩单原版一比一
定制(CQU文凭证书)中央昆士兰大学毕业证成绩单原版一比一Fi ss
 
cda.pptx critical discourse analysis ppt
cda.pptx critical discourse analysis pptcda.pptx critical discourse analysis ppt
cda.pptx critical discourse analysis pptMaryamAfzal41
 
Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025Rndexperts
 
PORTAFOLIO 2024_ ANASTASIYA KUDINOVA
PORTAFOLIO   2024_  ANASTASIYA  KUDINOVAPORTAFOLIO   2024_  ANASTASIYA  KUDINOVA
PORTAFOLIO 2024_ ANASTASIYA KUDINOVAAnastasiya Kudinova
 
韩国SKKU学位证,成均馆大学毕业证书1:1制作
韩国SKKU学位证,成均馆大学毕业证书1:1制作韩国SKKU学位证,成均馆大学毕业证书1:1制作
韩国SKKU学位证,成均馆大学毕业证书1:1制作7tz4rjpd
 
西北大学毕业证学位证成绩单-怎么样办伪造
西北大学毕业证学位证成绩单-怎么样办伪造西北大学毕业证学位证成绩单-怎么样办伪造
西北大学毕业证学位证成绩单-怎么样办伪造kbdhl05e
 
原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degreeyuu sss
 
Passbook project document_april_21__.pdf
Passbook project document_april_21__.pdfPassbook project document_april_21__.pdf
Passbook project document_april_21__.pdfvaibhavkanaujia
 
Unveiling the Future: Columbus, Ohio Condominiums Through the Lens of 3D Arch...
Unveiling the Future: Columbus, Ohio Condominiums Through the Lens of 3D Arch...Unveiling the Future: Columbus, Ohio Condominiums Through the Lens of 3D Arch...
Unveiling the Future: Columbus, Ohio Condominiums Through the Lens of 3D Arch...Yantram Animation Studio Corporation
 
(办理学位证)埃迪斯科文大学毕业证成绩单原版一比一
(办理学位证)埃迪斯科文大学毕业证成绩单原版一比一(办理学位证)埃迪斯科文大学毕业证成绩单原版一比一
(办理学位证)埃迪斯科文大学毕业证成绩单原版一比一Fi sss
 
Call Girls Meghani Nagar 7397865700 Independent Call Girls
Call Girls Meghani Nagar 7397865700  Independent Call GirlsCall Girls Meghani Nagar 7397865700  Independent Call Girls
Call Girls Meghani Nagar 7397865700 Independent Call Girlsssuser7cb4ff
 
专业一比一美国亚利桑那大学毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
专业一比一美国亚利桑那大学毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree专业一比一美国亚利桑那大学毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
专业一比一美国亚利桑那大学毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degreeyuu sss
 

Último (20)

Call Girls in Pratap Nagar, 9953056974 Escort Service
Call Girls in Pratap Nagar,  9953056974 Escort ServiceCall Girls in Pratap Nagar,  9953056974 Escort Service
Call Girls in Pratap Nagar, 9953056974 Escort Service
 
MT. Marseille an Archipelago. Strategies for Integrating Residential Communit...
MT. Marseille an Archipelago. Strategies for Integrating Residential Communit...MT. Marseille an Archipelago. Strategies for Integrating Residential Communit...
MT. Marseille an Archipelago. Strategies for Integrating Residential Communit...
 
原版1:1定制堪培拉大学毕业证(UC毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制堪培拉大学毕业证(UC毕业证)#文凭成绩单#真实留信学历认证永久存档原版1:1定制堪培拉大学毕业证(UC毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制堪培拉大学毕业证(UC毕业证)#文凭成绩单#真实留信学历认证永久存档
 
办理(UC毕业证书)查尔斯顿大学毕业证成绩单原版一比一
办理(UC毕业证书)查尔斯顿大学毕业证成绩单原版一比一办理(UC毕业证书)查尔斯顿大学毕业证成绩单原版一比一
办理(UC毕业证书)查尔斯顿大学毕业证成绩单原版一比一
 
Pharmaceutical Packaging for the elderly.pdf
Pharmaceutical Packaging for the elderly.pdfPharmaceutical Packaging for the elderly.pdf
Pharmaceutical Packaging for the elderly.pdf
 
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
 
Design and Managing Service in the field of tourism and hospitality industry
Design and Managing Service in the field of tourism and hospitality industryDesign and Managing Service in the field of tourism and hospitality industry
Design and Managing Service in the field of tourism and hospitality industry
 
'CASE STUDY OF INDIRA PARYAVARAN BHAVAN DELHI ,
'CASE STUDY OF INDIRA PARYAVARAN BHAVAN DELHI ,'CASE STUDY OF INDIRA PARYAVARAN BHAVAN DELHI ,
'CASE STUDY OF INDIRA PARYAVARAN BHAVAN DELHI ,
 
定制(CQU文凭证书)中央昆士兰大学毕业证成绩单原版一比一
定制(CQU文凭证书)中央昆士兰大学毕业证成绩单原版一比一定制(CQU文凭证书)中央昆士兰大学毕业证成绩单原版一比一
定制(CQU文凭证书)中央昆士兰大学毕业证成绩单原版一比一
 
cda.pptx critical discourse analysis ppt
cda.pptx critical discourse analysis pptcda.pptx critical discourse analysis ppt
cda.pptx critical discourse analysis ppt
 
Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025
 
PORTAFOLIO 2024_ ANASTASIYA KUDINOVA
PORTAFOLIO   2024_  ANASTASIYA  KUDINOVAPORTAFOLIO   2024_  ANASTASIYA  KUDINOVA
PORTAFOLIO 2024_ ANASTASIYA KUDINOVA
 
韩国SKKU学位证,成均馆大学毕业证书1:1制作
韩国SKKU学位证,成均馆大学毕业证书1:1制作韩国SKKU学位证,成均馆大学毕业证书1:1制作
韩国SKKU学位证,成均馆大学毕业证书1:1制作
 
西北大学毕业证学位证成绩单-怎么样办伪造
西北大学毕业证学位证成绩单-怎么样办伪造西北大学毕业证学位证成绩单-怎么样办伪造
西北大学毕业证学位证成绩单-怎么样办伪造
 
原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
 
Passbook project document_april_21__.pdf
Passbook project document_april_21__.pdfPassbook project document_april_21__.pdf
Passbook project document_april_21__.pdf
 
Unveiling the Future: Columbus, Ohio Condominiums Through the Lens of 3D Arch...
Unveiling the Future: Columbus, Ohio Condominiums Through the Lens of 3D Arch...Unveiling the Future: Columbus, Ohio Condominiums Through the Lens of 3D Arch...
Unveiling the Future: Columbus, Ohio Condominiums Through the Lens of 3D Arch...
 
(办理学位证)埃迪斯科文大学毕业证成绩单原版一比一
(办理学位证)埃迪斯科文大学毕业证成绩单原版一比一(办理学位证)埃迪斯科文大学毕业证成绩单原版一比一
(办理学位证)埃迪斯科文大学毕业证成绩单原版一比一
 
Call Girls Meghani Nagar 7397865700 Independent Call Girls
Call Girls Meghani Nagar 7397865700  Independent Call GirlsCall Girls Meghani Nagar 7397865700  Independent Call Girls
Call Girls Meghani Nagar 7397865700 Independent Call Girls
 
专业一比一美国亚利桑那大学毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
专业一比一美国亚利桑那大学毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree专业一比一美国亚利桑那大学毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
专业一比一美国亚利桑那大学毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
 

Slide show font sampler, white on black

  • 1. Slide Show Font Sampler White on Black Edition, v2012-05-28 How well do fonts convert online? How good do they look on washed up projectors? How big is too big? How small is too small? Nick Galbreath nickg@client9.com @ngalbreath
  • 2. Original Sources and Alternative Versions This presentation is available on multiple online slide-sharing services and comes in both black-text on white-background and white-on-black versions. http://goo.gl/Pwxoc blog.client9.com/2012/05/
  • 3. Problems • How good is the font conversion when a presentation is posted online? • How good to fonts look on washed out projectors? From how far away? • For plain text? For computer code?
  • 4. Solutions • This deck contains the most popular sans- serif fonts in 18, 24, 36, 42, 48, 64 and if room, 72 point-size. • Then common monospace fonts at 24, 30, 32 points along with some computer code at 32 points. • This was created with Keynote 5.1.1 using a slide size of 1024x768 on Mac OS X 10.7.4 and uploaded to various services.
  • 5. • The quick brown fox jumped over the lazy dog. Arial 42. •The quick brown fox jumped over the lazy dog. Futura 42. • The quick brown fox jumped over the lazy dog. Gill Sans 42. • The quick brown fox jumped over the lazy dog. Helvetica 42. • The quick brown fox jumped over the lazy dog. Helvetica Neue 42. • The quick brown fox jumped over the lazy dog. Helvetica Neue Medium 42.
  • 6. • The quick brown fox jumped over the lazy dog. Helvetica Neue 42. • The quick brown fox jumped over the lazy dog. Trebuchet MS 42. • The quick brown fox jumped over the lazy dog. Verdana 42. • The quick brown fox jumped over the lazy dog. Helvetica Light 42 • The quick brown fox jumped over the lazy dog. Helvetica Neue Light 42
  • 7. The quick brown fox jumped over the lazy dog. Arial 36. •The quick brown fox jumped over the lazy dog. Futura 36. • The quick brown fox jumped over the lazy dog. Gill Sans 36. • The quick brown fox jumped over the lazy dog. Helvetica 36. • The quick brown fox jumped over the lazy dog. Helvetica Neue 36. • The quick brown fox jumped over the lazy dog. Helvetica Neue Medium 36.
  • 8. • The quick brown fox jumped over the lazy dog. Helvetica Neue 36. • The quick brown fox jumped over the lazy dog. Trebuchet MS 36. • The quick brown fox jumped over the lazy dog. Verdana 36. • The quick brown fox jumped over the lazy dog. Helvetica Light 36 • The quick brown fox jumped over the lazy dog. Helvetica Neue Light 36 • The quick brown fox jumped over the lazy dog. Helvetica Neue Light 36
  • 9. The quick brown fox jumped over the lazy dog. Arial 30. • The quick brown fox jumped over the lazy dog. Futura 30. • The quick brown fox jumped over the lazy dog. Gill Sans 30. • The quick brown fox jumped over the lazy dog. Helvetica 30. • The quick brown fox jumped over the lazy dog. Helvetica Neue 30. • The quick brown fox jumped over the lazy dog. Helvetica Neue Medium 30.
  • 10. The quick brown fox jumped over the lazy dog. Helvetica Neue 30. • The quick brown fox jumped over the lazy dog. Trebuchet MS 30. • The quick brown fox jumped over the lazy dog. Verdana 30. • The quick brown fox jumped over the lazy dog. Helvetica Light 30 • The quick brown fox jumped over the lazy dog. Helvetica Neue Light 30
  • 11. Arial The quick brown fox jumped over the lazy dog. 72 The quick brown fox jumped over the lazy dog. 64 The quick brown fox jumped over the lazy dog. 48 The quick brown fox jumped over the lazy dog. 42 The quick brown fox jumped over the lazy dog. 36 The quick brown fox jumped over the lazy dog. 24 The quick brown fox jumped over the lazy dog. 18
  • 12. Futura Medium The quick brown fox jumped over the lazy dog. 64 The quick brown fox jumped over the lazy dog. 48 The quick brown fox jumped over the lazy dog. The quick brown fox jumped over the lazy dog. 36 The quick brown fox jumped over the lazy dog. 24 The quick brown fox jumped over the lazy dog.18
  • 13. Gill Sans Regular The quick brown fox jumped over the lazy dog. 72 The quick brown fox jumped over the lazy dog. 64 The quick brown fox jumped over the lazy dog. The quick brown fox jumped over the lazy dog. 42 The quick brown fox jumped over the lazy dog. 36 The quick brown fox jumped over the lazy dog. 24 The quick brown fox jumped over the lazy dog. 18
  • 14. Helvetica Regular The quick brown fox jumped over the lazy dog. 72 The quick brown fox jumped over the lazy dog. 64 The quick brown fox jumped over the lazy dog. 48 The quick brown fox jumped over the lazy dog. 42 The quick brown fox jumped over the lazy dog. 36 The quick brown fox jumped over the lazy dog. 24 The quick brown fox jumped over the lazy dog. 18
  • 15. Helvetica Neue Reg The quick brown fox jumped over the lazy dog. 72 The quick brown fox jumped over the lazy dog. 64 The quick brown fox jumped over the lazy dog. 48 The quick brown fox jumped over the lazy dog. The quick brown fox jumped over the lazy dog. 36 The quick brown fox jumped over the lazy dog. 24 The quick brown fox jumped over the lazy dog. 18
  • 16. Helvetica Neue Med The quick brown fox jumped over the lazy dog. The quick brown fox jumped over the lazy dog. 64 The quick brown fox jumped over the lazy dog. 48 The quick brown fox jumped over the lazy dog. The quick brown fox jumped over the lazy dog. 36 The quick brown fox jumped over the lazy dog. 24 The quick brown fox jumped over the lazy dog. 18
  • 17. Helvetica Light The quick brown fox jumped over the lazy dog. 72 The quick brown fox jumped over the lazy dog. 64 The quick brown fox jumped over the lazy dog. 48 The quick brown fox jumped over the lazy dog.42 The quick brown fox jumped over the lazy dog. 36 The quick brown fox jumped over the lazy dog. 24 The quick brown fox jumped over the lazy dog. 18
  • 18. Helvetica Neue Light The quick brown fox jumped over the lazy dog. 72 The quick brown fox jumped over the lazy dog. 64 The quick brown fox jumped over the lazy dog. 48 The quick brown fox jumped over the lazy dog. 42 The quick brown fox jumped over the lazy dog. 36 The quick brown fox jumped over the lazy dog. 24 The quick brown fox jumped over the lazy dog. 18
  • 19. Trebuchet MS The quick brown fox jumped over the lazy dog. 72 The quick brown fox jumped over the lazy dog. 64 The quick brown fox jumped over the lazy dog. 48 The quick brown fox jumped over the lazy dog. The quick brown fox jumped over the lazy dog.36 The quick brown fox jumped over the lazy dog. 24 The quick brown fox jumped over the lazy dog. 18
  • 20. Verdana The quick brown fox jumped over the lazy dog. 72 The quick brown fox jumped over the lazy dog. 64 The quick brown fox jumped over the lazy dog. The quick brown fox jumped over the lazy dog. 42 The quick brown fox jumped over the lazy dog. 36 The quick brown fox jumped over the lazy dog. 24 The quick brown fox jumped over the lazy dog. 18
  • 22. • #The ($quick) {brown fox} jumped over >> the /* lazy */ “dog”! && ‘n00b’ || die +12345.6789; 0 vs. O vs. o 1 vs. I vs. l Andale Mono 30 • #The ($quick) {brown fox} jumped over >> the /* lazy */ “dog”! && ‘n00b’ || die +12345.6789; 0 vs. O vs. o 1 vs. I vs. l Menlo 30 • #The ($quick) {brown fox} jumped over >> the /* lazy */ “dog”! && ‘n00b’ || die +12345.6789; 0 vs. O vs. o 1 vs. I vs. l Monaco 30
  • 23. #The ($quick) {brown fox} jumped over >> the /* lazy */ “dog”! && ‘n00b’ || die +12345.6789; 0 vs. O vs. o 1 vs. I vs. l Andale Mono 24 • #The ($quick) {brown fox} jumped over >> the /* lazy */ “dog”! && ‘n00b’ || die +12345.6789; 0 vs. O vs. o 1 vs. I vs. l Menlo 24 • #The ($quick) {brown fox} jumped over >> the /* lazy */ “dog”! && ‘n00b’ || die +12345.6789; 0 vs. O vs. o 1 vs. I vs. l Monaco 24
  • 24. Andale Mono • #The ($quick) {brown fox} jumped over >> the /* lazy */ dog! && n00b || die +12345.6789; 0 vs. O vs. o 1 vs. I vs. l (32 pt) • #The ($quick) {brown fox} jumped over >> the /* lazy */ dog! && n00b || die +12345.6789; 0 vs. O vs. o 1 vs. I vs. l (30 pt) • #The ($quick) {brown fox} jumped over >> the /* lazy */ dog! && n00b || die +12345.6789; 0 vs. O vs. o 1 vs. I vs. l (24 pt)
  • 25. Courier • #The ($quick) {brown fox} jumped over >> the /* lazy */ dog! && n00b || die +12345.6789; 0 vs. O vs. o 1 vs. I vs. l (32 pt) • #The ($quick) {brown fox} jumped over >> the /* lazy */ dog! && n00b || die +12345.6789; 0 vs. O vs. o 1 vs. I vs. l (30 pt) • #The ($quick) {brown fox} jumped over >> the /* lazy */ dog! && n00b || die +12345.6789; 0 vs. O vs. o 1 vs. I vs. l (24 pt)
  • 26. Courier New • #The ($quick) {brown fox} jumped over >> the /* lazy */ dog! && n00b || die +12345.6789; 0 vs. O vs. o 1 vs. I vs. l (32 pt) • #The ($quick) {brown fox} jumped over >> the /* lazy */ dog! && n00b || die +12345.6789; 0 vs. O vs. o 1 vs. I vs. l (30 pt) • #The ($quick) {brown fox} jumped over >> the /* lazy */ dog! && n00b || die +12345.6789; 0 vs. O vs. o 1 vs. I vs. l (30 pt)
  • 27. Menlo • #The ($quick) {brown fox} jumped over >> the /* lazy */ dog! && n00b || die +12345.6789; 0 vs. O vs. o 1 vs. I vs. l (32 pt) • #The ($quick) {brown fox} jumped over >> the /* lazy */ dog! && n00b || die +12345.6789; 0 vs. O vs. o 1 vs. I vs. l (30 pt) • #The ($quick) {brown fox} jumped over >> the /* lazy */ dog! && n00b || die +12345.6789; 0 vs. O vs. o 1 vs. I vs. l (24 pt)
  • 28. Monaco • #The ($quick) {brown fox} jumped over >> the /* lazy */ dog! && n00b || die +12345.6789; 0 vs. O vs. o 1 vs. I vs. l (32 pt) • #The ($quick) {brown fox} jumped over >> the /* lazy */ dog! && n00b || die +12345.6789; 0 vs. O vs. o 1 vs. I vs. l (30 pt) • #The ($quick) {brown fox} jumped over >> the /* lazy */ dog! && n00b || die +12345.6789; 0 vs. O vs. o 1 vs. I vs. l (24 pt)
  • 29. Andale Mono 30 for (lim = nmemb; lim != 0; lim >>= 1) { p = base + (lim >> 1) * size; cmp = (*compar)(key, p); if (cmp == 0) return ((void *)p); if (cmp > 0) { /* key > p: move right */ base = (char *)p + size; lim--; } /* else move left */ } return (NULL);
  • 30. Courier 30 for (lim = nmemb; lim != 0; lim >>= 1) { ! ! p = base + (lim >> 1) * size; ! ! cmp = (*compar)(key, p); ! ! if (cmp == 0) ! ! ! return ((void *)p); ! ! if (cmp > 0) {! /* key > p: move right */ ! ! ! base = (char *)p + size; ! ! ! lim--; ! ! }! ! /* else move left */ ! } return (NULL);
  • 31. Courier New 30 for (lim = nmemb; lim != 0; lim >>= 1) { p = base + (lim >> 1) * size; cmp = (*compar)(key, p); if (cmp == 0) return ((void *)p); if (cmp > 0) { /* key > p: move right */ base = (char *)p + size; lim--; } /* else move left */ } return (NULL);
  • 32. Menlo 30 for (lim = nmemb; lim != 0; lim >>= 1) { ! ! p = base + (lim >> 1) * size; ! ! cmp = (*compar)(key, p); ! ! if (cmp == 0) ! ! ! return ((void *)p); ! ! if (cmp > 0) {! /* key > p: move right */ ! ! ! base = (char *)p + size; ! ! ! lim--; ! ! }! ! /* else move left */ ! } ! return (NULL);
  • 33. Monaco 30 for (lim = nmemb; lim != 0; lim >>= 1) { p = base + (lim >> 1) * size; cmp = (*compar)(key, p); if (cmp == 0) return ((void *)p); if (cmp > 0) { /* key > p: move right */ base = (char *)p + size; lim--; } /* else move left */ } return (NULL);
  • 34. Andale Mono 24 for (lim = nmemb; lim != 0; lim >>= 1) { p = base + (lim >> 1) * size; cmp = (*compar)(key, p); if (cmp == 0) return ((void *)p); if (cmp > 0) { /* key > p: move right */ base = (char *)p + size; lim--; } /* else move left */ } return (NULL);
  • 35. Menlo 24 for (lim = nmemb; lim != 0; lim >>= 1) { ! ! p = base + (lim >> 1) * size; ! ! cmp = (*compar)(key, p); ! ! if (cmp == 0) ! ! ! return ((void *)p); ! ! if (cmp > 0) {! /* key > p: move right */ ! ! ! base = (char *)p + size; ! ! ! lim--; ! ! }! ! /* else move left */ ! } ! return (NULL);
  • 36. Monaco 24 for (lim = nmemb; lim != 0; lim >>= 1) { p = base + (lim >> 1) * size; cmp = (*compar)(key, p); if (cmp == 0) return ((void *)p); if (cmp > 0) { /* key > p: move right */ base = (char *)p + size; lim--; } /* else move left */ } return (NULL);
  • 37. Acknowledgements • Source code sample is from FreeBSD “bsearch.c” http://bit.ly/KDYqwl • Please see file for copyright notices.

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n