/******************************************************************************* * Copyright (c) 2007, 2008 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * * Contributors: *     IBM Corporation - initial API and implementation ****************************************************************************** * **//**  * Object blockFormats()  * @type blockFormats  * @super Array  * @memberOf blockFormats  * @since JScript 5.6  * @see http://msdn2.microsoft.com/en-us/library/ms537440.aspx*/function blockFormats(){};blockFormats.prototype= new Array();/**  * Property TF-8"  * @type TF-8"  * @returns {TF-8"}  * @memberOf blockFormats  * @since JScript 5.6  * @see http://msdn2.microsoft.com/en-us/library/ms533696.aspx*/blockFormats.prototype.TF-8"= new TF-8"();/**  * Property TF-8"  * @type TF-8"  * @returns {TF-8"}  * @memberOf blockFormats  * @since JScript 5.6  * @see http://msdn2.microsoft.com/en-us/library/ms533924.aspx*/blockFormats.prototype.TF-8"= new TF-8"();/**  * Property TF-8"  * @type TF-8"  * @returns {TF-8"}  * @memberOf blockFormats  * @since JScript 5.6  * @see http://msdn2.microsoft.com/en-us/library/ms533924.aspx*/blockFormats.prototype.TF-8"= new TF-8"();