CSS font stacks, developer FAQs & web standards

Your banner ad here

In this section

Follow Code Style

Site navigation below

This page is part of a searchable archive of the Code Style site log. Technical implementation notes that shed light on when, why and how the site has evolved since 2000.

RSS news feed Follow the latest entries to the site log.

Reverse chronology

28th September 2003

Added a link to An easy way to install Microsoft's TrueType core fonts on Linux to the AnchorPoints: Fonts & font foundries page.

Actions: Ask a question about this post, seek clarification or offer a correction.

20th September 2003

Changed Safari version numbers in the Mac font sampler and survey browser analysis script from point separators to full numbers on advice from Apple.

Corrected DC.Title metadata on the site log, July 2003 page and archived the site log, August 2003 entries.

Actions: Ask a question about this post, seek clarification or offer a correction.

14th September 2003

Noted Opera 7.11 and Netscape 7.1 support for the DOM1 visibility menus and re-set the compatibility table using a new SupraHeading class, styled in CSStdLiveryCommon.css.

.SupraHeading {
  color:            #333;
  background:       #EEF;
}
      

Also added the fundamental styles for SupraHeading to the persistent style sheet, CSPersistent.css:

.SuperData, .SuperHeading,
.TestData, .SupraHeading {
  font-size:        smaller;
}

TH, .SupraHeading{
  text-align:       left;
}

.SupraHeading {
  border-top:       solid 1px #000;
  border-bottom:    solid 1px #000;
}
      

Added a lilac background tint to form text, checkbox and radio button inputs, select and textarea fields via the CSStdLiveryCommon.css style sheet.

INPUT[type=text],
INPUT[type=radio],
INPUT[type=checkbox],
SELECT,
TEXTAREA {
  color:            #000;
  background:       #EEF;
}
      

Also added a CODE { font-size: 0.98em;} rule to better match extracts with standard body text, and added an exceptional rule for fieldset elements to work around a problem in Opera 7.

/*
  Opera 7 ignores border: none; so
  zero width set.
*/
TD FIELDSET{
  margin:           0;
  border:           solid 0px #FFF;
}
      

Actions: Ask a question about this post, seek clarification or offer a correction.

13th September 2003

Completed testing and wrote-up media dependent style sheet conformance for Opera 6.01, Opera 7.11 and Netscape 7.1 for Windows. Both Opera 7.11 and Netscape 7.1 are fully conformant user agents in this regard. Opera 6.01 appears to use the same media stylesheet implementation as for version 5.11 and earlier versions.

Changed the standfirst for the Code Style font sampler and survey and emphasised the lens icon comparison links more directly following user feedback. Altered the sampler-FontComparison.js popup script to clarify the script logic and set only to output the user note about the popup window when the popable status is true. Also set the lens Lens icon and information Information: icons on transparent backgrounds so that they better integrate with the alternative style sheet.

Changed the colour of the sidebar and footbar menus in the alternative style sheet, CSAlternate.css, added a .BarData rule and applied greater padding above the site search text. Made further minor modifications to the standard layout stylesheet, CSStdLayoutCommon.css, to complete the refactoring to the new persistent style sheet, CSPersistent.css.

Added the markup validators server side include to the Anchor Points: Site Management section, and added a link to Andy King's excellent Web Page Analyser service to the software section.

Doubled the height of the comments textarea in all standard feedback forms to 12 rows following user feedback. Also increased the border width of form elements in the strict livery style sheet from 1px to 2px, CSStdLiveryStrict.css, to make the edges more distinct.

INPUT, SELECT, TEXTAREA{
  border-width:     2px;
}
      

Added missing type="text" attributes to the main advanced search input and no search results version.

Actions: Ask a question about this post, seek clarification or offer a correction.

12th September 2003

Started testing and writing up CSS media monitor test case documents for Opera 6.01. In short, the media stylesheet implementation in Opera 6.01 is the same as Opera 5.11.

Changed the Googlebot exclusions in robots.txt to the same set of URLs as for Atomz site search to further control bandwidth usage.

Actions: Ask a question about this post, seek clarification or offer a correction.

11th September 2003

Added Galeon 1.2.7, iCab 2.9.1 and OmniWeb v496 to the browser validation script for the Code Style font sampler and survey. Updated and published latest results.

Actions: Ask a question about this post, seek clarification or offer a correction.

6th September 2003

Introduced a new upper class hierarchy to the org.codestyle.template package to provide finer integration of output interfaces and abstract content models with client packages. A new abstract superclass Content provides concrete methods for getting and setting the indent level for text content that removes redundancy in several former subclasses. A new abstract ViewableContent class simply extends Content and implements Viewable so that classes can inherit from any one of the three as either sub-interface, abstract or concrete classes.

The ViewableContent class also removes redundancy in the former ViewableSample and ViewableSequence classes. The Sample and Sequence classes now inherit directly from ViewableContent rather than duplicating Viewable implementation code. For the time being, this leaves ViewableSample and ViewableSequence with inappropriate names, since their Viewable interfaces are implemented in their superclasses. These classes will ultimately need to be factored out or renamed.

Extended the DocumentTemplate, Metadatum and StyleLink classes from the new Content class to consolidate the indentation methods, and stripped the indentation code from XhtmlTemplate to inherit from DocumentTemplate.

Moved the protected DocumentTemplate field from the individual CompareSample, ImageSample and TextSample to their common superclass ViewableSample. Also extracted the common getCssNote, showBackReference and isPopup methods from Sample to ViewableSample to leave only the sample-specific properties and accessors in the superclass.

Refactored the Sequence class in a similar way to Sample to leave only sequence-specific properties and accessors.

Introduced a new class hierarchy for requesting Stream and Reader content through the org.codestyle.io package. The abstract superclass IORequest implements concrete getBufferedReader and getInputStreamReader methods via the abstract getInputStream method. The superclass also includes an abstract getLastModified method.

Added an abstract NetworkRequest class to the org.codestyle.net package that extends IORequest with a PORT_HTTP constant and abstract getPort and getHost methods.

Adapted HttpContentRequest to extend NetworkRequest, but the socket-based HttpRequest was not so amenable to change. Decided to abandon the HttpRequest class in favour of the more versatile HttpContentRequest. Refactored the class' only client, the ViewSource servlet, to use HttpContentRequest and added PORT and PROTOCOL constants to construct the URL argument it requires. Also re-configured the output line numbering logic.

Introduced a new abstract superclass CacheValue for the draft cache implementation in the org.codestyle.broker package, and created a new FileCacheValue from the former ResultValue class. Moved the isStale method from FileCacheValue up to the superclass CacheValue and added a default constructor that always throws an IOException; the constructor arguments for the cache locator and OutputStream are critical.

Applied further standardisations to the Code Style Java project by applying Check Style tests in turn and correcting failing classes. Specifically finalised methods, method arguments and constructor arguments in all applicable classes. The only exceptions for which overriding is permitted are the getContentType method in DocumentTemplate; the init and getLastModified methods in TemplateServlet; the key Presentable interface methods in XhtmlTemplate; the parse methods in AbstractXMLReader and initializeSourceType in the abstract ParseServlet.

Also completed the clean-up of "magic numbers", adding a BAD_REQUEST constant to the AnchorPoints servlet in place of magic number 400 in the sendError calls. Made the array of standard XSLT output types in SourceType a static final constant and added a new TYPE_COUNT constant to instantiate the type matrix Hashtable and amended the constructors accordingly.

Actions: Ask a question about this post, seek clarification or offer a correction.

5th September 2003

Worked through a number of what Check Style calls "magic number" literals that are not defined as constants. Introduced a final reference to HttpServletResponse.SC_INTERNAL_SERVER_ERROR in ErrorHandler rather than magic number 500. Added static final error codes BAD_REQUEST and SERVER_ERROR to the abstract TemplateServlet in place of magic numbers 400 and 500. Adopted the new error code references in ParseServlet and ViewSequence.

Broke-out the lengthy renderLinks method in the abstract Metadatum class into separate public renderBackLinks and renderForwardLinks methods.

Introduced a QUERY_ALL constant and makeQuery(String surveyId) method to the FontStats class to avoid code duplication in the main and doGet methods. Also renamed variable names in getContent method to prevent hiding, and added JavaDoc comments throughout.

Actions: Ask a question about this post, seek clarification or offer a correction.

Previously on Code Style

Find technical implementation notes on all aspects of the Code Style site.

Add this page to your chosen social bookmarking service

Style warning, please read

Home · CSS · Java · Javascript · HTML · Help · Log